安卓APP抓包
背景
在渗透测试项目中,有很多目标单位有专属的APP,其中APP自身安全和APP对应的服务端接口也是渗透测试的攻击面,但是现有的APP安全防护措施不断提高,从APP本身发现安全问题的可能性降低,且服务器与客户端的通信过程也有较多的安全校验,下文将介绍安卓APP的抓包方法,方便渗透测试过程中的漏洞挖掘。
位置无关代码:PIC指不用硬编码地址来寻址指令或数据得代码,shellcode编写者应该使用位置无关代码来提高代码的兼容性。
识别执行位置:Shellcode再以位置无关方式访问数据时需要引用一个基质指针,用这个基址指针加上或减去偏移值,将使它安全访问shellcode中包含的数据,因此一个通用寄存器应该首先载入当前EIP值,作为基址指针来使用,但是指令指针不能之别被软件访问,无法汇编mov eax, eip
指令,但是可以使用call/pop
指令和fnstenv
指令。
使用call/pop指令:当一个call指令被执行使,处理器将call后面的指令地址压倒栈上,然后请求转到被请求的位置执行,这个函数执行完成后会执行一个ret指令,将返回地址弹出到栈的顶部,并将它载入EIP寄存器中,这样的结果使执行刚好返回到call后面的指令。因此shellcode可以通过call后面紧跟一个pop的方法来得到call后指令指针的方法。
OPSEC-操作安全性:攻击者可以通过多种方法来探测到是否有研究人员对恶意代码进行的测试:
Snort检测:https://www.snort.org/
Update your browser to view this website correctly. Update my browser now