Sqlmap其他注入

  1. 在使用SQLMap进行POST注入时,可以使用post.txt注入,而不是使用--data参数,因为使用txt方式注入使用的是真实的数据包,而--data使用的是SQLMap自带的请求头;
  2. 在注入点处用星号标记,例如host: XXX*
  3. 使用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类型字符串。