首页
论坛
课程
招聘

分享:
漏洞分析

零基础入门PWN

发布时间: 2020-2-15
最后修改: 2020-4-3
作者: Roger
阅读: 2148
难度: 初级
469    100%    299
学生数    好评度    价格
购买后可查看所有课程!

上一节 :
下一节 :
章节评论 (4)
tboom 2020-4-2
 举报
老师您好,我想问一下
push  0x68
push  0x732f2f2f
push  0x6e69622f
为什么不能用
push  0x68732f
push  0x6e69622f
代替?这样读出来应该是/bin/sh,并没有在中间添加00也不需要添加/。我这样尝试的时候发现结果有$符号,但是运用ls并没有结果而是直接退出了。请问为什么这样不可以呢?
【讲师回复】 这个问题问的好,在很多漏洞利用场景中, shellcode 的内容将会受到限制,例如你不能输入 \x00 这个字符,编辑框不能输入 \x0d \x0a这样的字符,0x68732f2f2f6e69622f表示的ASCII是 hs///nib/ ,而x68732f6e69622f表示的是hs/nib/,表面上看只是两个反斜杠的区别,但这里需要保证binsh要以00结尾,因此需要在汇编中写入代码手动将其调整为 0,所以要用第一种
2020-4-3
Roger 2020-4-3
 举报
@tboom  这个问题挺重要的,给你更新了一节课,你可以看一下,https://www.kanxue.com/book-57-955.htm
xiaofei0115 2020-4-26
 举报
老师,如果我想泄露局部变量s地址,将shellcode写到s上执行。思路应该是如何做啊?
【讲师回复】 泄露局部变量地址,利用格式化输出函数,或者其他IO函数来泄露。将shellcode写到上面,不建议这么做,您继续往后看,可以覆盖到bss段结尾
2020-4-27
沪ICP备16048531号-1
沪公网安备 31011502006611号