web 351
直接读取本地文件
web352
这里要求是http或者https协议,只需要满足这个就可以了。
web353
借助352的一大堆可以打。
web354
http://sudo.cc这个是解析到127.0.0.1的域名,直接用即可。
web355
PHP: parse_url - Manual
因为$host<5,所以构造个小于5的payload就可以了。
web356
$host小于3
url=http://0/flag.php
web357
PHP FILTER_VALIDATE_IP 过滤器 | 菜鸟教程
这题过滤了,不能访问内网的IP,有两个方法来完成这题。
一、302跳转
在服务器上新建一个302.php,内容如下:
二、Dns重绑定
CEYE - Monitor service for security testing
在上面这个平台注册后,它会给你一个域名,把dns重绑定的东西改成下面。第一个写公网的IP,第二个写127.0.0.1。
大致的原理是:
所以得多试几次
具体的可以看一下大佬的文章。
浅谈DNS重绑定漏洞 - 知乎
web358
.*是正则表达的贪婪法制,匹配尽可能多的字符。
url=http://ctf.@127.0.0.1/flag.php?show
url=http://ctf.@127.0.0.1/flag.php#show
为什么访问的是@后面的127.0.0.1,这与parse_url的解析有关。
PHP: parse_url - Manual
web359
题目提示打无密码的mysql,这里感觉也算是盲打了,第一是不知道secure_file_priv的值,也就是说允不允许导入导出;第二是不知道当前网站路径有没有写入权限;
因为是无密码的mysql,有三种利用方式。
先一个个来试吧,因为第一和第三种有点麻烦,先试一下最简单的第二种。
打开gopher小工具https://github.com/tarunkant/Gopherus
使用方式:
将得的结果在_后面再url全编码一次。
访问url/1.php,然后在post处命令执行。
web360
和上题差不多的方法,用gopher打redis。
可能是写webshell、反弹shell、写公钥,也是得一个个试。
这题的话是写webshell,直接利用小工具
URL编码一下_后面的内容,生成的webshell默认是shell.php中
发的包会超时,但是没事,shell.php还是生成了。