(1)属性取值:对一个变量取属性,比如request的GET,POST,FILES属性,属性的属性照样可控的,然则request的其他字段如META,user,session,url则得排查开外。 (2)字符串拼接:被拼接的字符串中包含可控参数,则认为赋值后的值也是可控的,须要推敲好各类拼接情况,如应用+,%等进行拼接。 (3)分片符取值:一般认为分片后的值也是可控的。 (4)列表解析式,如不雅列表解析式基于某个可控因子进行迭代,则认为赋值后的列表也是可控的。 (5)简单的函数处理:a,处理函数是字符串操作函数(str,unicode,strip,encode等);b,简单的未过滤函数,也就是嗣魅这个函数的返回参数是可控的。
对外层函数中的所有代码行进行分析,断定是否是赋值类型,如不雅赋值类型的操作属于以上五种情况中随便率性一种,则将该赋值后的值放入可变参数列表中,具体的流程如图3:
0x06 停止语
对Python源码实现注入问题的主动审查,大年夜大年夜降低了工资的弗成控性,使代码裸露出来的马脚更少。当然今朝来嗣魅这个模块照样有必定局限性,对类的处理不敷充分,没有分析导入的函数对属性的取值也不敷细分等问题。
【编辑推荐】
- Python Web框架介绍
- 大年夜零开端教你用Python做词云
- 技巧 | 应用Python来进修数据科学的完全教程
- 手把手教你用 Python 和 Scikit-Learn 实现垃圾邮件过滤
- 若何用Python履行常见的Excel和SQL义务
推荐阅读
【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! 数据中间最重要的是要完美和>>>详细阅读
本文标题:【干货】Python自动化审计及实现
地址:http://www.17bianji.com/lsqh/36334.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示