write4

题目链接:https://ropemporium.com/challenge/write4.html

x86

根据题目的提示可知,在本题程序中并没有存在levle2中的字符串,但是题目给了一个重要的信息,就是链接库中存在一个print_file函数,只需要将你希望读取的文件名(如:“flag.txt”)作为第一个参数调用即可。结合后续的提示,我们可以得到如下思路:

阅读全文 »

callme

题目链接:https://ropemporium.com/challenge/callme.html

x86

根据提示可以知道,这次需要我们构造一个连续调用函数的ROP链。我们需要注意在32位环境下pop 3ret这种情况,来进行堆栈平衡。提示中告诉我们要依次调用call_one()call_two()call_three()这三个函数,每一个函数的参数均为0xdeadbeef, 0xcafebabe, 0xd00df00d,eg.call_one(0xdeadbeef, 0xcafebabe, 0xd00df00d)我们需要构造一个依次调用这三个函数的ROP链。

阅读全文 »

split

题目链接:https://ropemporium.com/challenge/split.html

x86

根据题目描述,这个二进制程序中存在有用的字符串/bin/cat flag.txt,并且存在对system函数的调用。结合题目名字,猜测是将函数调用跟所需的参数分开了,需要我们自己去拼接起来。大致思路就是分别找到函数跟字符串的地址,然后拼成一个简单的ROP链即可。

阅读全文 »

ret2win

题目链接:https://ropemporium.com/challenge/ret2win.html

x86

首先检查下程序保护情况,(根据提示,此系列均开启了NX保护,主要来锻炼ROP技术)

1
2
3
4
5
6
7
$ checksec ret2win32
[*]'/home/giantbranch/Desktop/rop_emporium_all_challenges/level1_ret2win/32/ret2win32'
Arch: i386-32-little
RELRO: Partial RELRO
Stack: No canary found
NX: NX enabled
PIE: No PIE (0x8048000)
阅读全文 »

什么是命令提示符(Commamd Prompt)

  1. Also called Terminal or Bash and is used to execute command.
  2. It is typically a black screen with white font and has a very simple User Interface. You type in commands, and it interprets these commands and runs operations in the computer.

工作环境:VMware16、Ubuntu16.04(客户机)、Win10(主机)和Clash for Windows。

VMware中虚拟机的网络设置选为NAT模式,步骤如下:

  1. 将win10中clash打开Allow LAN选项,并查看代理端口(此处为:7890)

    image-20220817191543525

  2. 在Win10(主机)终端中执行ipconfig命令,查看VMware Network Adapter VMnet8的IPv4地址(此处为:192.160.220.1)

    image-20220817191819717

  3. 在Ubuntu16.04(客户机)中设置网络代理,路径为:系统设置->网络->网络代理,填写刚才查看的VMnet8的ipv4地址和代理端口号

    image-20220817192048712

  4. 应用到整个系统

项目地址:https://github.com/HAKSOAT/EpubToPdf

报错记录:按照readme中安装好依赖库后,运行后报错。

错误1:

1
'gbk' codec can't decode byte 0xa2 in position 153: illegal multibyte sequence

“GBK”,一眼编码问题,根据报错提示找到代码中open()函数的位置,设置encoding参数即可。

修改完后重新运行代码,报错。

错误2:

1
2
No wkhtmltopdf executable found: "b''"
If this file exists please check that this process can read it. Otherwise please install wkhtmltopdf - https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf

原因是未找到wkhtmltopdf这个程序,从官网下载安装,配置环境变量,重新运行,仍然报错,从网上查下解决办法,手动在代码中添加安装路径。

1
2
path_wk = r'F:\Application Installation Files\wkhtmltopdf\bin\wkhtmltopdf.exe' #安装位置
config = pdfkit.configuration(wkhtmltopdf = path_wk)

在pdfpy.py文件的PdfEngine类中首行添加,因为main.py只import了这一个类,在类外边会无效。

修改完后,重新运行代码,成功运行,如下:

1
2
3
4
5
6
(gxb) F:\Project Files\EpubToPdf-master>python main.py x86汇编语言_从实模式到保护模式.epub
--- Sections converted to pdf
--- Epub to PDF conversion started
--- Sections combined together in a single pdf file
--- Individual pdf files deleted from directory
--- Epub to PDF conversion successful

Docker命令

帮助命令

1
2
3
4
docker version	#版本信息
docker info #系统信息

docker 命令 --help

镜像命令

docker images 查看所有本地的主机上的镜像

1
2
3
4
5
6
7
8
9
10
11
12
13
14
root@ubuntu:/home/guoxb/Desktop# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE

#解释
repository 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的id
CREATED 镜像的创建时间
SIZE 镜像的大小

#可选项
-a,--all 列出所有的镜像
-q,--quiet 只显示镜像的id

docker search 搜索命令

1
2
3
4
5
6
7
8
9
10
11
12
13
root@ubuntu:/home/guoxb/Desktop# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 12226 [OK]
mariadb MariaDB Server is a high performing open sou… 4693 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 907 [OK]
#可选项
--filter 过滤
eg:
-f=starts=3000 搜索收藏大于3000的镜像
root@ubuntu:/home/guoxb/Desktop# docker search mysql -f=stars=3000
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 12226 [OK]
mariadb MariaDB Server is a high performing open sou… 4693 [OK]

docker pull 下载镜像

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#下载镜像 docker pull 镜像名[:tag]
root@ubuntu:/home/guoxb/Desktop# docker pull mysql
Using default tag: latest #如果不写tag,默认就是latest
latest: Pulling from library/mysql
72a69066d2fe: Pull complete #分层下载,docker image的核心 联合文件系统
93619dbc5b36: Pull complete
99da31dd6142: Pull complete
626033c43d70: Pull complete
37d5d7efb64e: Pull complete
ac563158d721: Pull complete
d2ba16033dad: Pull complete
688ba7d5c01a: Pull complete
00e060b6d11d: Pull complete
1c04857f594f: Pull complete
4d7cfa90e6ea: Pull complete
e0431212d27d: Pull complete
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709 #签名信息
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #仓库的真实地址

#等价命令
docker pull mysql == docker pull docker.io/library/mysql:latest

#制定版本下载(只能使dock hub中已有的版本)
root@ubuntu:/home/guoxb/Desktop# docker pull mysql:5.7
5.7: Pulling from library/mysql
72a69066d2fe: Already exists
93619dbc5b36: Already exists
99da31dd6142: Already exists
626033c43d70: Already exists
37d5d7efb64e: Already exists
ac563158d721: Already exists
d2ba16033dad: Already exists
0ceb82207cd7: Pull complete
37f2405cae96: Pull complete
e2482e017e53: Pull complete
70deed891d42: Pull complete
Digest: sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7

root@ubuntu:/home/guoxb/Desktop# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 c20987f18b13 2 months ago 448MB
mysql latest 3218b38490ce 2 months ago 516MB

docker rmi 删除镜像

1
2
3
root@ubuntu:/home/guoxb/Desktop# docker rmi -f 镜像id		#删除指定的镜像
root@ubuntu:/home/guoxb/Desktop# docker rmi -f 镜像id 镜像id 镜像id #删除多个镜像
root@ubuntu:/home/guoxb/Desktop# docker rmi -f $(docker images -aq) #删除全部镜像

容器命令

说明:我们有了镜像才可以常见容器,linux,下载一个centos学习

1
docker pull centos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
docker run [可选参数] image

# 参数说明
--name="NAME" 容器名字
-d 后台运行方式,
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口 -p 8080:8080
-p ip:主机端口:容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
容器端口
-P 随机指定端口

#启动并进入容器
root@ubuntu:/home/guoxb/Desktop# docker run -it centos
[root@d1f26cb642ba /]#
#root后的主机名就是容器id

#从容器中退回主机 exit

#列出正在运行的主机 docker ps


docker命令