
破军安全实验室
本文约1700字,阅读约需5分钟。
0x00 --os-shell条件
当前用户具备文件读写权限;
函数secure_file_priv的值不为NULL,及允许数据导入导出;
有写权限的绝对路径;
实际情况下还有一些其他因素,这里就不再说明了。
0x01 环境准备

0x02 os-shell流程分析
使用sqlmap注入并将数据发送到burp suite,前面的注入直接忽略,我们到os-shell这一步。
sqlmap获得注入点之后,我们使用参数--os-shell可获取到系统交互shell,执行该命令中途主要需要两个点:
1、选择正确的系统语言。
2、之后是网站的根路径。


选项2:这里是自定义路径,在某些情况下你可能提前知道了网站的根路径,就可以选用2,然后填入绝对路径;
选项3:这里是使用你自己定义的字典,导入字典尝试;
选项4:这里调用sqlmap定义的字典进行尝试;
这里我们直接指定网站根路径,我这里抓包是显示累计8个数据包。

0x03 os-shell数据包分析

第四、五、六个数据包都是在确认上传文件的路径,确认是否上传成功。

文件tmpufkcg.php主要是用来上传文件的。


最后一个包对上传的文件进行命令测试,然后sqlmap返回交互式shell。

0x04 总结
通过对整个流程的解析不难发现,sqlmap的交互式shell是先上传一个任意文件上传的后门,再上传由几个命令执行函数构成的后门文件来生成交互式shell。
到这里有个简单思路,实际环境中我们有很多时候是拿到交互式shell之后执行命令存在问题,并不能执行相关命令,这时我们可以利用sqlmap的第一个后门文件上传小马,使用蚁剑等工具进行连接(手工注入上传太麻烦,适合我这种比较懒的)。这里尝试了一下
这里可以看到文件被正常上传解析。

使用蚁剑进行连接,成功连接。


渗透的注意事项也来了,os-shell界面有一句提示“ calling OS shell. To quittype 'x' or 'q' and press ENTER”,告诉你调用os-shell结束后使用x+enter或q+enter退出,这样退出的目的是为了删除上传的两个后门文件,如果不这样退出,后门文件会被保留。老实说我最初的时候真的没有注意这一句话,直接就给叉掉。。。。。

然后我们查看burp suite,可以发现多了两个del的数据包。

查看网站根目录,文件确实被清除,只存在我上传的一句话。


由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,破军安全实验室及文章作者不为此承担任何责任。
破军安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经破军安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

破军安全实验室
# 长按二维码 关注我们 #




