概述
个人感觉麻烦的点在于环境的搭建(又回到最初一瓶农夫山泉搁那配一天环境的日子,一个点没注意就出问题,甚至桌上的农夫山泉都换成了怡宝),本文着重记录下自己踩得坑,对于漏洞的详细分析可以看看参考文章.然后关于IOT通信还涉及到http协议和cgi,我也以我的理解简单介绍下
还介绍了纯rop链和shellcode两种漏洞利用方法,提到shellcode来getshell时出现的一些问题
对于一个程序,我们可以通过strip来去除其符号表,表现如下:
去除前
去除后
通过加载相应的签名文件来恢复符号表
在ida中用快捷键shift+f5
进入签名界面,右键apply new signature
选择要加载的签名文件即可,通过ctrl+z
撤销上一步操作
ida9.0自带的签名较少可以从sig-database中获取
Finger是阿里云·云安全技术实验室推出的一款二进制函数符号识别引擎,可以识别二进制程序中的库函数与常见的第三方函数,快速定位恶意代码,提高样本分析效率
先pip install finger_sdk
安装finger_sdk库
注意安装Finger的python的版本要与IDAPython的版本一致
然后从finger这个项目中下载finger_plugin.py
,由于原项目年久失修,可以根据这个issue方法进行patch
将finger_plugin.py
复制到IDA插件目录IDAx.x\plugins
中
重启ida,即可在顶栏看见finger
了
我现在用的是这两个,另外还有iscan
可以自动检测静态二进制程序使用的libc版本,可以自行google下
恢复前
恢复后