时间紧迫,这里整个5道CTF题目
BugKu-Web-GET
BugKu-Web-POST
攻防世界-Web-get_post
BugKu-Web-矛盾
攻防世界-Web- simple_php
这里可以看到网址上是没有当前文件名,这里是index.php(一般都是这个)
这里是GET传参,当$what=flag时输出flag
flag{5ed5035b41c455c9cebee29d8243efb0}
ok,进入下一题
这里可以看出我们需要以POST形式传输$what=flag给服务器
有两种方式,一种是利用hackbar,另一种是利用kali的curl:curl 网址 -d what=flag
这里使用hackbar进行演示
得到flag{fd62a96285bc8b777839587d95960ea9}
进入下一题
当$num==1时可以得到flag,但如果$num为数字或数字字符串时不执行如下代码,因此只有要同时满足这两点就可以了,类似于与$num=1abc,它不属于numeric,同时也可以满足$num==1
得到flag{90809ce8ba8b4e37a27dbd52300b5234}
下一题
这道题跟前面的思路相同就不解释了
cyberpeace{5f9b0f0ad513568198c86cb2f5eae9e2}
继续下一题
这道题看起来还蛮高级的,让我们来解刨一下
if($a==0 and $a){
echo $flag1;
}
这里可以看出$a!===0,也就是说$a还是类似于0+字母或符号的形式
成功得到第一段flag
继续解刨一下$b
if(is_numeric($b)){
exit();
}
if($b>1234){
echo $flag2;
}
$b不为数字或数字字符串,同时还有要大于1234,这跟$a的思路是相同的,$b=(一个大于1234的数字)+(一切非数字)
最终结果如下
3/6
今天继续做两个CTF的笔记
[极客大挑战 2019]BuyFlag
[ACTF2020 新生赛]BackupFile1
BuyFlag,经过探索,发现了其提出的要求:需要是一位学生,需要回答正确的密码。先查看源代码,发现如下注释:
1 | <!-- |
password需要==404,password不能是数字或数字字符串。
==会自动转换,所以这里设定为404c
利用burpsuit抓包
如图所示,其利用了GET传输,通过change request method修改为POST传输
cookie:user0修改为user1
(user是用户,0通常代表flase(错误),1通常代表true(正确)
将user修改为1使后台程序可以正常运行)
这里可以看到他说想要买flag还需要1亿元
那我们也就给他money=100000000(此时它会显示字符串超出限制,那我们换一种方式表示1e10,表示1+10个0)
ok,成功拿下flag
接下来做BackupFile1
也是非常干净只有一句话,让我们去寻找源文件,dirb或dirbsearch扫描,发现备份文件index.php.bak,发现如下
key==str key!=数字或数字字符串时输出just name 所以设定key为123就可以了
得到flag
(难点在于如何发现备份文件)
ok今天的ctf就先到这里啦,下次再见
3/11继续更新ctf进程
1.BugKu-Web-计算器
2.攻防世界-Web新手区- disabled_button
3.BugKu-Web-头等舱
4.攻防世界-Web-baby_web
5.极客大挑战-2019-Havefun
6.BugKu-Web-程序员本地网站
7.BugKu-Web-你从哪里来
8.攻防世界-Web新手区-xff_referrer
9.攻防世界-Web新手区-cookie
我们一个一个来:
这里可以看到需要我们输出计算结果来获取flag,但是设置了表格输出范围为1个字符
因此在这里我们通过F12进行范围修改
这里有也是成功拿到flag
进入下一道
这里可以看到一个按钮
大概就是说点击按钮获取flag,但是flag是灰色的,因此我们还是用上一道ctf题的思路,修改样源代码
成功取得flag
继续下一题
查看相应头,发现flag
下一道
文件为1.php,尝试查看index.php(这里会强制转回1.php),但可以在网络中查看,发现flag
下一道,这里就不具体写了F12发现注释
1 | $cat=$_GET['cat']; |
输出变量?cat=dog,即可拿到flag
ok,继续下一道
程序员本地网站
利用burpsuite进行抓包,修改http header的信息X-Forword-for为127.0.0.1
取得flag
进入下一题
思路与上一题相似,但这里需要修改referer来欺骗服务器
下一题
这道题也没什么可多说的,就是上面两道题的结合体
来到最后一题cookie
直接从网络里看,他说在cookie.php中
继续查看网络,发现flag
ok,8道题目顺利完结,下次再见。
3/31
最近身体疲乏,笔记更新的也有点晚
今天做一个bugku的前女友
F12发现隐藏文件code.txt
if($v1 != $v2 && md5($v1) == md5($v2))
v1不等于v2同时md5$v1需要等于md5$v2
这个简单,数组绕过或者利用md5值相等的不同函数
s878926199a与s155964671a
!strcmp($v3, $flag)
将v3与flag作比较,然后取非
取非,即把0变成1,非0变成0;
当v3 > flag时为1,取非成为0,代码不执行
当v3 < flag时为-1,取非成为0,还是不执行
所以只有当flag=v3时,取非才是1,代码执行
因此这里v3我们只能利用数组绕过
方法一:
?v1=QNKCDZO&v2=240610708&v3[]=1
方法二:
?v1[]=1221&v2[]=211&v3[]=2313
ok,暂时就到这,下次见
4/14 今天在来做几个ctf题目
首先我们要了解PHP中带有代码执行漏洞的函数
下面列举两个常用的函数
eval()
assert()
ok,开始第一道
CTFhub-RCE -eval执行
由图可知,我们需要将命令赋给cmd进行运行
我们先查看一下当前文件夹?cmd=system("ls");
试着不断倒退文件夹../../../
发现flag文件?cmd=system("cat ../../../flag_31398");
得到flag
ctfhub{496c51c522ec53cd9cdc7ef2}
CTFhub-RCE -文件包含
strpos(string,find,start)
意思在string字符串中找find的位置,start是查找的开始位置(!strpos($_GET["file"], "flag"))
如果file中没有flag字符串就执行下面的include $_GET[“file”]?file=shell.txt
查看当前目录,进行../退位 发现flagctfhub=system("ls ../../../");
得到flagctfhub=system("cat ../../../flag");
buuctf-webshell后门
下载的到文件
通过火绒发现病毒所在文件
发现木马位置
flag{ba8e6c6f35a53933b871480bb9a9545c}
buuctf-后门查杀
下载文件,利用火绒发现木马文件
发现木马位置
得到flag{6ac45fb83b3bc355c024f5034b947dd3}
bugku-web-eval
这里需要传入hello参数?hello=system("ls")
发现flag.phpcat flag.php
发现直接运行了php程序,因此我们这里利用tac只读不运行进行查看
bugku-web-shell?s=system("ls")
谈笑间又被骗了4金币
今天的ctf就到这里了,我们下期再见
4/15
今天再整个几道
1.攻防世界-Web-upload1
界面也是非常的简洁啊
先尝试直接上传一句话木马
可以看到他这里需要上传图片,我们直接改文件后缀并进行拦截
将jpg改回php否则将会无法连接
这里可以看到是已经上传成功的
直接通过蚁剑进行连接
成功找到flag
2.BUUCTF-Web- [ACTF2020 新生赛]Upload
我们直接上传jpg文件,同时进行拦截,后改为php进行尝试
很可惜被他发现了,很可能是php被扳掉了,我们尝试使用phtml进行绕过
成功上传
这里拓展一下
PHP页面不包含与视图相关的代码
PHTML页面包含的数据逻辑很少(如果有的话),并且大部分与演示相关
phtml通常从不直接访问。此外,在大多数Web服务器中,通常未将phtml配置为有效的PHP扩展名。
因此这里可以替换为phtml
ok,蚁剑进行连接
拿到flag
3.BUUCTF-Web-[MRCTF2020]你传你🐎呢
真是一场激情的解题呢,老样子先拦截,后上传
这里就可以确定是黑名单过滤了
经过资料的查询和学习,这里需要利用利用文件解析漏洞,大致就像解析图片马的一个文件
写一个.htaccess文件
1 | <FilesMatch "1.jpg"> (这里确定自己上传的图片码的名字) |
这里上传时需注意将文件格式改为jpeg否则无法上传成功
ok,既然已经得到,那我们直接蚁剑开连
(注:这里连接的是上传的jpg图片马)
成功拿到flag
下期再见
2024/4/22
又到了熟悉的周一,继续来做几个ctf题目
1.BugKu-Web-文件包含
由此我们可以得知file为注入点,要运行index.php
直接尝试连接
显示无法使用该页面,这里我们使用伪协议php://fitter,这里需要注意,它与函数结合会导致直接运行,因此
我们这里对其进行编码输出,令其无法执行.
这里使用base64进行编码?file=php://filter/read=convert.base64-encode/resource=index.php
成功显示页面,进行base64解码获得flag
flag{ee3ec0c3ec7b492161711f6090499a11}
2.BugKu-Web-文件包含
这道题没什么特别的知识点,为了节约点金币,直接上知识点
1 | <?php |
3.BUUCTF-[ACTF2020 新生赛]Include
这里让我们找flag,又是熟悉的感觉,再次尝试伪协议,转换为base64
也是成功拿下(知识点有点重复了)
4.BUUCTF-[极客大挑战 2019]Secret File
真是紧张又刺激的页面呢
通过查看源代码发现隐藏超链接,后又发现一个超链接,但都一无所获,因此这里决定抓包查看
经过一番查看发现注释文件secr3t.php
打开进行查看
得知flag在flag.php中,file可进行文件包含漏洞,但这里无法直接查看,还是需要利用到伪协议
其中禁止使用../,tp,input,data
解码拿到flag
完结,睡大觉
8/6
今天来对前些日子完成的ctf题目进行一个整理
1.HTTP
2.Head?Header
3.我真的会谢
4.word-for-you
5.word-for-you2
————————————————————————————————————————————————————————————————————
HTTP
进入靶机
老样子先F12寻找线索
发现隐藏目录secret.php
查看后发现需要从https://Sycsecret.buuoj.cn 访问
利用Burp进行拦截,修改referer
后又需要Syclover,利用User-agent
后又要求只能本地进行查看,将X-Forwarded-For修改为本地进行传输
成功拿到flag{7d9ddd19-b7c1-4d17-89a5-3852bd468c36}
Head?Header
跟上道题思路一样,这里就不演示了
我真的会谢
如图可知,作者将flag藏在了三个地方
我们先查看robots.txt,顺利发现第一个flag,Part One: flag{Th1s_Is_s00
(此文件一般为留给渗透人员的渗透要求)
接下来尝试下载备份文件
尝试www.zip, 解压以后发现flag,Part Three: u_th1nk_so?}
接下来尝试从源码中找寻线索
发现注释
VIM非正常退出很可能生成swp文件,尝试查看.index.php.swp
成功得到最后一段flag
————————————————————————————————————————————————————————————————————
Word-For-You 1/2
这里一与二差距不大,这里只展示2的渗透过程
利用sqlmap中 修改User-Agent,通过参数–random-agent进行渗透,从而入侵数据库,从而得到flag
火速完结