BugkuCTF_Web——“web5”、“头等舱”、“备份是个好习惯”、“flag在index里”
一、web5
题目提示“JSPFUCK”
Jsfuck介绍:–>Jsfuck – 一个很有意思的Javascript特性<–
F12查看源代码发现Jsfuck语句
复制到命令台运行得到FLAG
二、头等舱
标题很有意思,“头等舱” => “header”
网站什么都没有
使用Burpsuite抓包——发送到repeater——发送,检查回应,发现FLAG确实在header内
三、备份是个好习惯
提到了备份,网页的备份一般是xxx.php.bak
,可以直接键入下载
代码审计
获得FLAG需要传入两个参数key1
key2
,要求二者md5加密值同但明文值不同,即需要绕过md5
传入参数前,str_replace
会过滤一次key
字符串
因此传入变量kekeyy
或kkeyey
绕过字符串过滤
PHP绕过md5()
-
数组绕过
若对数组进行md5加密,则会返回NULL,即md5值相等 -
0e绕过
某些字符串加密后是0e
开头的,比较时会视为科学计数法表示为0的次方,即md5值比较相等
一些0e
开头字符串
明文 | md5密文 |
---|---|
s1091221200a | 0e940624217856561557816327384675 |
s214587387a | 0e848240448830537924465865611904 |
s155964671a | 0e342768416822451524974117254469 |
s878926199a | 0e545993274517709034328855841020 |
?kkeyey1[]=x&kekeyy2[]=y
?kkeyey1=s1091221200a&kekeyy2=s878926199a
得到FLAG
四、flag在index里
题目提示了flag在index里,而进入网页什么都没有,只有个超链接
查看打开网页的方式:此方法存在LFI漏洞
因此可以利用漏洞使用php://filter
和base64
编码得到源码
?file=php://filter/read=convert.base64-encode/resource=index.php
base64解码得到FLAG
完
欢迎在评论区留言
感谢浏览