入口点sqlmap\plugins\generic\takeover.py的osShell函数
后步入到sqlmap\lib\tkeover\web.py的webInit函数
首先就是输出一些提示信息,通过1-4来选择web服务器后端语言

后步入到sqlmap\lib\core\common.py的getManualDirectories()函数来选择web路径
1:使用预定义的默认路径
2:自定义web路径
3:提供一个多路径文件,提供给sqlmap去测试
4:sqlmap自带暴力破解

后随机生成web木马文件的名字,decloak解密存放在sqlmap/data/shell/backdoors/的木马文件


后for循环通过_webFileInject进行注入写入木马,然后进行请求验证存不存在

而后再次验证(这里其实我感觉挺多余的,可能是因为境界不够没有看出写这段代码的作用,直接验证存不存在这个木马文件不就好了?)

然后使用webBackdoorRuncmd函数来发送请求包再次验证木马可不可用

从webBackdoorRunCmd这个函数来看sqlmap webshell的密码硬编码在python文件中,为cmd

请求包如下

然后这个文件上传的过程就结束了,继续走sqlmap\plugins\generic\takeover.py的osShell函数

它呢会接收在终端输入的命令并通过runCmd来执行,当然他最后也是通过调用webBackdoorRunCmd来达到命令执行的效果



