1.checksec+运行

64位/NX保护
运行起来貌似很有意思,是一个加解密操作
后来发现只能加密不能解密
2. 强大的IDA进行中
1.main函数

貌似看不出什么
2.encrypt函数
加密具体操作
大小写字母/数字进行异或运算

发现gets()栈溢出

s大小0x50
需要先把加密函数绕过
该函数的功能就是循环对输入的字符串进行加密,在加密前都有一个检查,只要v0的值大于或等于字符串的长度就跳出循环,通过strlen来计算字符串长度的,strlen计算字符串的长度是以’\0’作为终止符,在payload的开头加上’\0’就能绕过加密,这样我们写入的数据不会被改变
while ( 1 )
{
v0 = (unsi

本文讲述了在64位环境下,通过IDA分析一个加密函数的漏洞,利用栈溢出绕过加密并通过Ret2Libc3技巧获取shell的过程。作者详细展示了如何利用puts地址泄漏、rop gadget寻找和精心构造的payload来实现攻击。
最低0.47元/天 解锁文章
1112

被折叠的 条评论
为什么被折叠?



