赞
踩
目录
解题方法:
1、使用开发者工具查看源代码(F12、鼠标右键单击、Ctrl+Shift+I、Ctrl+U)
2、在URL头部输入view-source://
3、将html 页面存储到本地查看
4、使用BurpSuite 抓包获得网页源代码
5、关闭浏览器js功能
过程
使用开发者工具查看源代码
view-source:http://61.147.171.105:65305/
html 页面存储到本地查看
BurpSuite 代理抓包获得网页源代码
5、关闭浏览器js功能
不能右键空白页面,可能是js控制的前端
方法一:可以使用js开关插件
方法二:永久关闭js功能
在火狐地址栏输入:about:config
点“接收风险并继续”按钮
搜索javascript.enabled,然后双击该栏,把值变为false即可关闭js
解题方法:
1、使用工具HackBar
2、使用Robots协议(都不能查看)
过程
使用工具HackBar
使用Robots协议(都不能查看)
解题方法:
1、查看robots.txt文件
知识点:
【robots协议】简介、理解
https://blog.csdn.net/qq_53079406/article/details/125898777?spm=1001.2014.3001.5502
过程
在网址后加上/robots.txt
查看访问原则
访问/f1ag_1s_h3re.php页面
解题方法:
1、备份文件后缀.bak
过程
大多数的管理员为了以后方便都会将备份文件的后缀写成.bak,所以,我们这里就是找到.bak的文件
找到index.php的备份文件,所以我们先在url栏中输入index.php.bak
.bak将前面的.php给覆盖了(且无法直接打开)
将.bak给去掉
解题方法:
1、使用工具HackBar
2、使用bp抓包
过程
使用工具cookie Editor
(或者使用bp抓包)
进入cookie.php这个页面
看见
See the http response
(看返回包,直接在开发者工具里面看)
(或者使用bp抓包)
解题方法:
1、删除特殊属性
过程
打开开发者工具查看页面源代码
删除按钮中的‘disabled=" "’属性,按钮便可正常使用
点击flag按钮,出现flag
解题方法:
1、使用bp对弱密码进行爆破
过程
什么都不输入,直接点击登录
提示admin(账号)
账号输入admin,密码随便输入
然后使用bp抓包,并对密码进行爆破(发送到intruder)
设置有效载荷位置,并配置有效载荷字典
对结果进行判断,长度明显不一致的就可能是正确密码
查看响应,获得flag
解题方法:
1、解读php代码
过程
a,b都为get传参
flag1和flag2是我们要获得的
is_numeric()函数:检测变量是否为数字或数字字符串,是则返回TRUE,否则返回FALSE
http://61.147.171.105:51599/index.php?a=a&b=1235b
解题方法:
1、index.php一般为php的初始页面
过程
描述的初始页面是那个
php的初始页面一般为index.php
但是都会跳转到1.php(有重定向)
尝试去掉1.php后缀也是一样
使用bp抓包后发送到repeater
返回包中发现有flag
解题方法:
1、查看robots.txt文件
知识点:
【robots协议】简介、理解
https://blog.csdn.net/qq_53079406/article/details/125898777?spm=1001.2014.3001.5502
过程
在URL后面加上robots.txt
在URL后面加上/fl0g.php
解题方法:
1、使用bp对id值进行爆破
过程
就这一处可以点进去
题目说只有一处,使用bp抓包进行爆破
设置有效载荷位置
设置为数字(后来发现300是不够的,3000)
设置线程(30太慢了)
发现值小了,重新加大
分析结果,有一项返回数据包大小与其他明显不一样
解题方法:
1、解读php代码
过程
index.php页面什么也没有
进行扫描,我这要扫41w条,太慢了,先丢一个开始图片
最后扫描到index.phps
在URL后面加上index.phps
关键信息$_GET[id] == "admin"
urldecode($_GET[id])会进行一次解码
而浏览器也会进行一次解码
所以要对admin进行2次编码
(对首字母a编码也是一样的道理)
%2561dmin
urldecode(%2561)=%61
urldecode(%61)=a
解题方法:
1、php序列化
知识点:
过程
看见__wakeup()就知道涉及到序列化、反序列化
执行unserialize()反序列化时,先会调用__wakeup()函数
理解了序列化每个字符意思
都可以看着这段代码直接写出序列化结果
?code=O:4:"xctf":1:{s:4:"flag";s:3:"111";}
__wakeup()漏洞:当序列化字符串所表示的对象, 其序列化字符串中属性个数大于真实属性个数时就会跳过__wakeup的执行
将变量1改为2或者其他大于1的数字
?code=O:4:"xctf":2:{s:4:"flag";s:3:"111";}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。