# 第一篇博客(一个初级小pwn手)~

一.学习Python语言

字符串处理

Python字符串的处理挺多的。。。2333333挑重点?

pwntool库的用法

useful Python tools pwntools introduction
from pwn import* 导入pwntools库
p = processs(‘程序名’) 本地运行程序括号里写程序名,要在同一目录下
p = remote(‘服务器’,端口) 远程服务
p.recvuntil() 接受到这些字符后继续执行Python脚本(Python代码)|
p.sendline(内容) 发送字符到程序 | 粗体表示————>和程序进行交互的语句
p.recv()接受程序发送的字符 |
p.interactive()

二.安装pwn环境(虚拟机)

  • 虚拟机的安装还不算麻烦,麻烦的是wins系统下电脑的一些东西也要改,比如一开始下好虚拟机以后安装时,电脑一直显示(安装程序未能安装一个或多个设备驱动程序),只能说搞了很久就放弃了,重新又从其他的途径下了虚拟机,这下才没有这个问题

  • 然后当然依然不是一帆风顺,我又遇见了Win10下安装虚拟机提示“Intel VT-x处于禁用状态”这样的问题# 第一篇博客(一个初级小pwn手)~_第1张图片
    原因是wins的我的电脑默认状态是只能接受一个计算机还是虚拟机,具体我也搞不懂,反正就是不给你用,这个问题要通过调计算机的BOIS,先找到设置,# 第一篇博客(一个初级小pwn手)~_第2张图片然后进入疑难解答,点击重新启动,具体的一些东西百度上还是很详细的,但是有的地方不同的电脑不一样,所以还是要自己去摸索。

  • 安装好以后就是新建一个虚拟机,剩下的步骤百度上也有,但是百度上的方法好像在我这又出来问题了,最后问了队长,向导里面先选典例(百度有的是选高级)# 第一篇博客(一个初级小pwn手)~_第3张图片,然后是安装程序光盘映像文件【下面它会识别盗你已经下载的ubuntu】(百度上有毒,也不是这样的),然后的步骤就比较简单了,我原先在电脑上安装了一个64位的,然后电脑就自己识别了,创建好以后,打开命令行(打开方法有很多,我喜欢Ctrl+alt+t)输入pip install pwntools就可以开始下载了~

  • 然后可以在Linux里面直接下载32位的,需要输入两条命令(sudo apt-get install ia32-libs)【随后会输入一个密码,输入密码的时候电脑不会有显示】,然后输入(sudo apt-get install lib32c-dev)# 第一篇博客(一个初级小pwn手)~_第4张图片23333333~感觉这样下比较方便
    -关于一些在 linux下的命令:

    cd 切换所在目录
    ls 列举文件
    file 查看文件类型
    apt-get install 软件名 安装东西

下载一个socat

在这里插入图片描述

socat命令本地起服务

socat tcp-l:端口,fork exec:程序文件名

这是简单的起服务命令帮助我们本地调试,程序会运行在127.0.0.1 端口
使用时先解除权限chmod +x ./pwn100,然后socat tcp-l:端口,fork exec:./pwn100(端口的数值如果是以前用过的要记得换一个,不然就会显示这个地方已经被占用)

三.本地ida attach

(队长:首先在我们的exp里面需要加上raw_input函数,然我们的脚本暂停然后attach到程序上。反正我是看不懂他说什么,一句话的概括,不适合我这个小白)

  • 由于这是第一次,所以有些东西要从头来,先在本机下好的ida里面找到相应的文件,下图中上面的那个是我这次用的32位的,因为这次给的pwn100文件是32位的(如果我没搞错的话),将这个文件复制到虚拟机的桌面上,然后在运行一下试一试在这里插入图片描述# 第一篇博客(一个初级小pwn手)~_第5张图片
  • 如图先ls来浏览有什么文件,然后我们运行linux_server,再用chmod +x ./linux_server来解除权限,输入ifconfig然后我们就可以知道要填的那个hostname了(红线部分)
  • 然后好像就没什么事了,进行下一步在ida里的操作

这里要从头开始设置首先选择debug类型
# 第一篇博客(一个初级小pwn手)~_第6张图片
再进行process option设置
# 第一篇博客(一个初级小pwn手)~_第7张图片

# 第一篇博客(一个初级小pwn手)~_第8张图片这里的设置第一个是bin文件位置,第二个也是,第三个是文件夹位置。设置好了以后。然后再linux虚拟机中运行对应的server文件,这里用的是linux_server这个文件从ida的安装位置中取出来。
在这里插入图片描述
然后就可以选择debugger->attach process查看能不能成功的出现attach选项。下面的图是盗的,因为我的调好以后就不见了23333333,总之需要找到你的文件,就是那个pwn100(下图不是。。。。)
# 第一篇博客(一个初级小pwn手)~_第9张图片

开始调试

1、首先运行脚本,会暂停,运行的时候,出现错误就要回到虚拟机那结束那个linux_server的窗口(结束用Ctrl+c),然后重复那个刚刚的操作
2、选择我们运行的bin文件名字
3、就可以进行成功的调试了,和本地直接调试是一样的。

error solve

# 第一篇博客(一个初级小pwn手)~_第10张图片
一、这里是一个权限问题,在运行server文件的时候进行一个sudo,提升下调试的权限就可以了
二、还有一个是‘对方主机积极拒绝’这个错误
检查一下你的server文件是不是正常运行了。
嘤嘤嘤==终于调试出来了

# 第一篇博客(一个初级小pwn手)~_第11张图片

你可能感兴趣的:(pwn)