sqlmap源码阅读_setPreprocessFunctions和_setPostprocessFunctions
先来看下用法:
sqlmap --preprocess=“test1.py”
sqlmap --postprocess=“test2.py”
可以用来指定预处理脚本和后置处理脚本。
先来看preprocess的流向
在参数中定义
这个参数会被设置到conf全局变量中(这部分代码这里不写了)
使用__module__
导入这个脚本模块
使用inspect检查这个模块里面是否含有preprocess(req)函数,如果存在就添加到kb.preprocessFunctions.append(function)`
全局搜索关键字可以找到preprocessFunctions被使用的地方
再来看postprocess的流向
postprocess和preprocess类似,不同点在于使用的位置不同。
总结:通过代码可以很好的理解preprocess和postprocess是会作用在请求发生前,和获得相应后的。