Sqlmap其他注入
- 在使用SQLMap进行POST注入时,可以使用post.txt注入,而不是使用
--data
参数,因为使用txt方式注入使用的是真实的数据包,而--data
使用的是SQLMap自带的请求头; - 在注入点处用星号标记,例如
host: XXX*
; - 使用
python sqlmap.py -r host.txt
开始注入
万能密码原理(post注入)
例如对于下列sql语句:
select * from admin where username='$user' and password='$pass' ;
使$user = “admin’ or ‘1’=‘1”,得到
select * from admin where username='admin' or '1'='1' and password='$pass' ;
host注入
在HTTP头中,把order by 4
(payload)作为host项传递。
XFF注入
例如,某些网站会验证用户的IP地址来判断是否放行;在日志记录时会在数据库中记录HTTP头信息,因此可能存在注入点。如PHP正确获取客户端IP地址。
以下三个参数可能存在注入点:
HTTP_CLIENT_IP:存在于http请求的header HTTP_X_FORWARDED_FOR:请求转发路径,客户端IP,代理1IP,代理2IP…… HTTP_X_REAL_IP:这个用得比较少,暂不讨论。 这三个值都是从HTTP请求头获取的,所以并不可靠!
根据功能区分注入类型
例如,搜索sql如下:
select * from zzz_user where name like '%$name%'
字符串相关的sql判断语句会包含引号等等。
⚠️注意数字、字母、JSON类型字符串。