CTF平台题库writeup(二)--BugKuCTF-WEB(部分)

web2

flag在源码的注释里

计算器

改一下text文本框的最大输入位数>1即可

web基础$_GET

GET方式传参即可

web基础$_POST

post方式传参即可

矛盾

$num=$_GET['num'];
if(!is_numeric($num))
{
echo $num;
if($num==1)
echo 'flag{**********}';
}

这题要求传参num不能是数字,而且num=1,一开始没有什么思路,认为是弱类型的绕过,传了true进去,发现无效,问了一下度娘,发现在数字后面加上%00截断,is_numeric()函数就不能识别为数字了…
payload:

123.206.87.240:8002/get/index1.php?num=1%00

web3

这题疯狂弹出对话框,阻止以后查看源码,果然全是alert弹窗,在最下面的注释里发现了一大串编码,不太认识:

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第1张图片

问了一下度娘,发现是unicode,直接在线解码即可

域名解析

进入windows/system32/drivers/etc/hosts中添加123.206.87.240 flag.baidu.com,然后直接访问域名即可

你必须让他停下

这题如何让他停下?直接bp抓包拦截,然后一次一次执行,go了几次发现flag

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第2张图片

本地包含

  

REQUEST默认情况下包含了 _GET,\_GET,_GET,_POST 和 _COOKIE的数组。这题的最终目的就是要看到∗∗flag.php∗∗里的内容,eval是执行\_COOKIE 的数组。 这题的最终目的就是要看到**flag.php**里的内容,eval是执行_COOKIE的数组。这题的最终目的就是要看到∗∗flag.php∗∗里的内容,eval是执行a里的内容,所以直接file(‘flag.php’)就可以
payload:

http://123.206.87.240:8003/?hello=file(%27flag.php%27)

变量1

这题花了点时间研究了一下

flag In the variable !

理解1:preg_match()是正则表达式的匹配,/^表示开始,KaTeX parse error: Expected 'EOF', got '\w' at position 12: /表示结束,结束字符 \̲w̲包含\[a-z,A-Z,,0-…args表示的是以args表示的是以args表示的是以args为变量名的变量;
理解3:GLOBALS[]包含正在执行脚本所有超级全局变量的引用内容;开头就提示flag在变量里,所以只要看看变量里都放了些什么就可以了,args=GLOABLS就可以将GLOBALS[]包含正在执行脚本所有超级全局变量的引用内容;开头就提示flag在变量里,所以只要看看变量里都放了些什么就可以了,args=GLOABLS就可以将GLOBALS[]包含正在执行脚本所有超级全局变量的引用内容;开头就提示flag在变量里,所以只要看看变量里都放了些什么就可以了,args=GLOABLS就可以将args解析成args解析成args解析成GLOBALS,var_dump打印变量的相关信息
这样就可以显示出所有变量的内容

payload:

http://123.206.87.240:8004/index1.php?args=GLOBALS


Web5


提示是jspfuck,查看源代码,复制下来放到google控制台跑一下

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第3张图片

发现了ctf{whatfk},提交提示离答案非常接近,要求是CTF头,所以全部大写提交,成功…

头等舱


打开发现什么都没有…查看源代码也没有什么东西,F12查看一波也没有什么发现,无奈之下用bp截取之后运行…以为有点难,没想到是水题…

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第4张图片
网站被黑


嗯,挺漂亮的网页,查看半天也没发现什么奇怪的东西,就扫一波后台目录

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第5张图片

发现了index.php和shell.php,打开shell.php如图:

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第6张图片

发现需要输入密码,bp抓一波,然后选择passwords字典暴力破解

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第7张图片

降序排列一波发现1110匹配项

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第8张图片
管理员系统


这题不太会,找到源码中的base64编码

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第9张图片

解码以后是test123,输入admin为用户名,test123为密码,发现不能访问,IP禁止访问,请联系本地管理员登录,也就是说需要本地登录才可以进去,所以就尝试着bp抓一波包,从大佬的wp中了解到这题需要伪装成本地访问才可以通过,伪装本地访问的方法就是在headers里面添加如下http头:
 

X-Forwarded-For:127.0.0.1

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第10张图片

弹出flag:

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第11张图片

web4

提示查看源码就查看一波源码,发现一大串url编码:

解码后:

function checkSubmit()
{
	var a=document.getElementById("password");
	if("undefined"!=typeof a)
	{
		if("67d709b2b54aa2aa648cf6e87a7114f1"==a.value)
		return!0;
		alert("Error");
		a.focus();
		return!1
	}
}
document.getElementById("levelQuest").onsubmit=checkSubmit;

将67d709b2b54aa2aa648cf6e87a7114f1这一串数字提交到表单里直接出flag…(什么鬼玩意儿)

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第12张图片

flag在index里

文件包含题,和nctf的文件包含如出一辙;
payload:

http://123.206.87.240:8005/post/index.php?file=php://filter/read=convert.base64-encode/resource=index.php

解析为base64编码,解码后发现flag

输入密码查看flag

进去发现需要输入5位密码,就直接用burp爆破一下,先设置五位数字爆破

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第13张图片

等一下发现出现length不一样的项目,直接找到了flag

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第14张图片

点击一百万次

这题你点一下鼠标数值就会加一,


 

查看源代码发现只要点击鼠标就会clicks++,method是POST,所以可以直接post一个clicks=1000000过去就可以了

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第15张图片

得到flag

CTF平台题库writeup(二)--BugKuCTF-WEB(部分)_第16张图片

 

备份是个好习惯

提示备份直接进入index.php.bak,发现如下,是一个弱类型的MD5绕过,构造MD5值为0e开头的值就可以了

 


去掉第一个字符后,用’'替换key,也就是直接去掉key,然后字符串解析到变量,构造payload:

http://123.206.87.240:8002/web16/?kekeyy1=s878926199a&kekeyy2=QNKCDZO

持续更新…

 

【注】参考:https://blog.csdn.net/Gar_denia/article/details/86760631

你可能感兴趣的:(CTF,信息安全,安全)