python实现定制EXP
一、POC和EXP
四个常见概念:
POC:(Proof of Concept)概念验证,常指一段漏洞证明的代码。 作用:用来证明漏洞存在的(无害的)
EXP:(Exploit)利用,指利用系统漏洞进行攻击的动作。 作用:用来利用漏洞的(有害的)
Payload:(攻击载荷,指成功exploit之后,真正在目标系统执行的代码或指令。
Shellcode:利用漏洞时所执行的代码。Payload的一种,由于其建立正向/反向shell而得名。
一个形象的比喻:
想象自己是特工,你目标是监控一个重要的人,有一天你怀疑目标家里的窗子可能没有关,于是你上前推了推,结果推开了,这是一个POC。第二天你通过同样的漏洞渗透进了它家,仔细查看了所有的重要文件,离开时还安装了一个隐蔽的窃听器,这一天你所做的就是一个EXP,你在他家所做的就是不同的Payload,就把窃听器就当作Shellcode。
二、python实现编写EXP
1.环境:
python3.x、模块requests。
2.requests库简介:
requests是使用Apache2 licensed 许可证的HTTP库,用python编写,比urll ib2模块更简洁。
3.requests支持HTTP的方法
1.GET 获取资源
2.POST 传输实体主体
3.PUT 传输文件
4.HEAD 获得响应报文首部
5.DELETE 删除文件
6.OPTIONS 查询支持的方法
7.TRACE 追踪路径
8.CONNECT 要求用隧道协议连接代理
9.LINK 建立和资源之间的连接
10.UNLINK 断开连接关系
4.requests模块中的HTTP方法
1.res = requests.get()
2.res = requests.post()
3.res = requests.put()
4.res = requests.delete()
5.res = requests.head()
6.res = requests.options()
5.requests模块参数
1.GET参数 params
2.HTTP头部 headers
3.POST参数 data
4.文件 files
5.Cookies cookies
6.重定向处理 allow_redirects = False/True
7.超时 timeout
8.证书验证 verify = False/True
9.工作流(延迟下载