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是会作用在请求发生前,和获得相应后的。

おすすめ

転載: blog.csdn.net/lineuman/article/details/121726612