BugkuCTF-WEB部分题解(三)

cookies欺骗

url中有两个参数linefilename
对filename中参数base64解码得keys.txt
所以原网站根据两个参数按行返回指定文件源代码
将filename中参数换为aW5kZXgucGhw(index.php)
写一个python脚本获得index.php源代码
BugkuCTF-WEB部分题解(三)_第1张图片
分析源代码:
BugkuCTF-WEB部分题解(三)_第2张图片
get请求时构造cookie: margin=margin查询keys.php(a2V5cy5waHA=)
BugkuCTF-WEB部分题解(三)_第3张图片

never give up

查看源代码
在这里插入图片描述
访问/1p.html 查看源代码
根据代码
将Words中的字符串escape解码之后再base64解码
BugkuCTF-WEB部分题解(三)_第4张图片
访问/f4l2a3g.txt得到flag

过狗一句话

分析给出的代码
BugkuCTF-WEB部分题解(三)_第5张图片
assert()
scandir()
get传递参数?s=print_r(scandir(’./’))
该目录下有个txt文档,访问得flag

该题目出现问题
在这里插入图片描述

你从哪里来

根据提示
在这里插入图片描述
修改请求的request头
加入Referer:https://www.google.com
Referer

各种绕过

分析代码
BugkuCTF-WEB部分题解(三)_第6张图片
1.get两个参数id(需要url编码)和uname
2.绕过sha1(),与md5类似,sha1()无法传入数组,若传入的值为数组,则返回false,即可绕过
解决方法:
margin的url编码依旧为本身
构造?id=margin&uname[]=1
post:passwd[]=aa(只需uname[]和passwd[]的值不相等)
提交即可得flag
另外:
学习到burpsuite的get和post方法
同时进行get和post需将数据包转换为POST方法,url依然为/?..
BugkuCTF-WEB部分题解(三)_第7张图片

Web8

审计代码
BugkuCTF-WEB部分题解(三)_第8张图片
1.extract()
2.file_get_contents()
3.trim()
分析:
get三个参数满足:ac不为空,fn为文件名,f是处理后fn中的内容
根据提示txt,访问/flag.txt 内容为flags
所以,构造/?ac=flags&fn=flag.txt
得到flag

求getshell

写一个一句话木马,上传时抓包
常见的文件上传绕过
参考2
本题需要三个绕过:
1.文件头Content-Type大小写绕过:mULtipart/form-data其中的若干个字母改为大写
2.文件后缀绕过,将.php改为其他扩展后缀名,经尝试后缀改为.php5可绕过
3.将文件数据Content-type改为image/jpeg
BugkuCTF-WEB部分题解(三)_第9张图片

你可能感兴趣的:(BugkuCTF-WEB部分题解(三))