write4
题目链接:https://ropemporium.com/challenge/write4.html
x86
根据题目的提示可知,在本题程序中并没有存在levle2中的字符串,但是题目给了一个重要的信息,就是链接库中存在一个print_file
函数,只需要将你希望读取的文件名(如:“flag.txt”)作为第一个参数调用即可。结合后续的提示,我们可以得到如下思路:
题目链接:https://ropemporium.com/challenge/write4.html
根据题目的提示可知,在本题程序中并没有存在levle2中的字符串,但是题目给了一个重要的信息,就是链接库中存在一个print_file
函数,只需要将你希望读取的文件名(如:“flag.txt”)作为第一个参数调用即可。结合后续的提示,我们可以得到如下思路:
题目链接:https://ropemporium.com/challenge/callme.html
根据提示可以知道,这次需要我们构造一个连续调用函数的ROP链。我们需要注意在32位环境下pop 3ret
这种情况,来进行堆栈平衡。提示中告诉我们要依次调用call_one()
,call_two()
,call_three()
这三个函数,每一个函数的参数均为0xdeadbeef, 0xcafebabe, 0xd00df00d
,eg.call_one(0xdeadbeef, 0xcafebabe, 0xd00df00d)
我们需要构造一个依次调用这三个函数的ROP链。
题目链接:https://ropemporium.com/challenge/split.html
根据题目描述,这个二进制程序中存在有用的字符串/bin/cat flag.txt
,并且存在对system
函数的调用。结合题目名字,猜测是将函数调用跟所需的参数分开了,需要我们自己去拼接起来。大致思路就是分别找到函数跟字符串的地址,然后拼成一个简单的ROP链即可。
题目链接:https://ropemporium.com/challenge/ret2win.html
首先检查下程序保护情况,(根据提示,此系列均开启了NX保护,主要来锻炼ROP技术)
1 | $ checksec ret2win32 |
浅浅记录一下平时搜集到的一些网站
工作环境:VMware16、Ubuntu16.04(客户机)、Win10(主机)和Clash for Windows。
VMware中虚拟机的网络设置选为NAT模式,步骤如下:
将win10中clash打开Allow LAN选项,并查看代理端口(此处为:7890)
在Win10(主机)终端中执行ipconfig
命令,查看VMware Network Adapter VMnet8的IPv4地址(此处为:192.160.220.1)
在Ubuntu16.04(客户机)中设置网络代理,路径为:系统设置->网络->网络代理,填写刚才查看的VMnet8的ipv4地址和代理端口号
应用到整个系统
项目地址: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 | No wkhtmltopdf executable found: "b''" |
原因是未找到wkhtmltopdf这个程序,从官网下载安装,配置环境变量,重新运行,仍然报错,从网上查下解决办法,手动在代码中添加安装路径。
1 | path_wk = r'F:\Application Installation Files\wkhtmltopdf\bin\wkhtmltopdf.exe' #安装位置 |
在pdfpy.py文件的PdfEngine类中首行添加,因为main.py只import了这一个类,在类外边会无效。
修改完后,重新运行代码,成功运行,如下:
1 | (gxb) F:\Project Files\EpubToPdf-master>python main.py x86汇编语言_从实模式到保护模式.epub |
1 | docker version #版本信息 |
docker images 查看所有本地的主机上的镜像
1 | root@ubuntu:/home/guoxb/Desktop# docker images |
docker search 搜索命令
1 | root@ubuntu:/home/guoxb/Desktop# docker search mysql |
docker pull 下载镜像
1 | #下载镜像 docker pull 镜像名[:tag] |
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 | root@ubuntu:/home/guoxb/Desktop# docker rmi -f 镜像id #删除指定的镜像 |
说明:我们有了镜像才可以常见容器,linux,下载一个centos学习
1 | docker pull centos |
1 | docker run [可选参数] image |
docker命令