发现居然没有特别好用的python防御ssrf好用的pip库,造个轮子
- 支持pip简单安装
- 支持 py2&py3
- 直接通过参数引用,直接hijack最常用的requests库,不引入第三方函数
- 支持防御DNS rebinding
SSRF原理及防御
ssrf攻击及防御这里不延伸,可参考【1】,p神讲的挺明白了,提两点
- 原文没涉及到dns rebinding的防御,其实防御思路也很简单,只进行1次dns请求即可
- 循环hijack requests这个思路提到过,但是不是最优解,其实直接hijack requests.sessions.Session.request即可,所有的requests get/post最终都调用的这个函数
具体没啥可说的,看代码【2】吧
使用
pip install pyAntiSSRF
1 | # 1. import & patch requests库 |
参考
- [1] 谈一谈如何在Python开发中拒绝SSRF漏洞
- [2] pyAntiSSRF