这题直接右击查看页面源代码即可
在文本框内发现只能输入一位数字,在框内右击-查看元素,发现“maxlength=1”,将其值改为较大的,然后在框内输入正确的值,点击验证,出现flag。
由题分析,what = flag的时候,会出现flag,重新构造网址:
http://123.206.87.240:8002/get/?what=flag, 页面上面显示
分析可知,这题与上面的极为相似(在火狐浏览器附加组件中下载hackbar,在页面右击查看元素可找到hackbar)
页面显示
此题需要搞清楚php中=== 和 ==的区别(===会比较两个变量的类型和值
而==只比较他们的值)。分析代码,要想进入if代码里面需要满足给num的值不是数字,但进入里面需要num为1.有没有很困惑?不慌。其实因为num变量是与1比较,在比较的时候会默认把num转化为数字型。于是我们构造payload来绕过:http://123.206.87.240:8002/get/index1.php?num=1a
只要在1后面加上任意非数字字符就能绕过。
参考链接:https://www.jianshu.com/p/ec7ef77b67a2
点击阻止创建对话框,右击查看网页源代码,在最后发现
查找在线解码工具http://tool.chinaz.com/Tools/urlencode.aspx
题目:
打开链接,发现有好多张图片一直在动,要看到每页的源码显然是不可能的,这个时候就需要burp suite进行抓包,我也是第一次使用此工具。参考链接:https://t0data.gitbooks.io/burpsuite/content/chapter2.html,在火狐浏览器里面配置好代理,看到页面,可知配置成功。
打开Burp Suite软件 — 点击Proxy — 点击Action(选择send to repeater ) — 点击repeater — 一直点击go,知道在Response页面的Raw选项出现如下内容,即为成功。先了解一下$_REQUEST:https://www.php.net/manual/zh/reserved.variables.request.php
由于本题已挂,所以只介绍一下做题方法:https://blog.csdn.net/dyw_666666/article/details/82389457#comments
PHP中全局变量global和$GLOBALS[]的区别分析:
global KaTeX parse error: Expected 'EOF', got '&' at position 8: var其实就是&̲GLOBALS[‘var’],调用外部变量的一个别名而已。PHP的全局变量和C语言有一点点不同。在C语言中,全局变量在函数中主动生效,除非被局部变量笼罩。这可能引起一些问题,有些人可能漫不经心的转变一个全局变量。PHP中全局变量在函数中应用时必须用global申明为全局。PHP的Global变量的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。
知只要运行 eval(“var_dump($$args);”),就能得到flag.这是需要构造一个GET参数,
所以,只需给变量传一个全局数组变量即可,构造get参数:http://123.206.87.240:8004/index1.php?args=GLOBALS
即可得到flag:
看到这种问题,第一反应就是查看网页源代码:结果发现好多的"(+[]"这种符号,不要慌,这其实就是题中说的JSPFUCK,其实这是一串js代码,可以放在控制台去执行。复制源码中的所有这些代码,然后去控制台粘贴,回车
你以为这就完了????别忘了,是要大写的。所以答案是: C T F { W H A T F K } \color{red}{CTF\{WHATFK\}} CTF{WHATFK}
说实话,刚点开链接,看见页面显示“什么都没有”,想着真棒,又有一道题挂了,哈哈哈哈哈哈!两巴掌抽死我自己吧!做什么白日梦。
解决方法:打开源码,也什么提示都没有。所以可以想到试试抓包,推荐一个新工具 — fiddler,此超链接里面有详细使用方法。发现flag在响应头里面。
题中提示实战中经常遇到,那就试一下开御剑扫描后台吧!扫描后发现有两个
选择第二个,使用万能钥匙“admin'-”等弱密码试登录,发现无果。接着开burp进行爆破。分别进行如下操作:点击intruder — payloads。 第一步选择Simple list ,第二步选择burp自带字典Passwords(我的burp软件没有自带的字典)或者导入本地字典(推荐剑眉大侠爆破专用字典)。 点击start attack,接下来就是漫长的等待。 用结果hack登录,成功得到flag。直接在火狐浏览器里面按F12 — 网络 — 所有 — 刷新页面 — 出现
点击它,右边出现消息头,点击里面状态码(编辑和重发)
点击发送,出现新的POST,再次点击,查看响应,出现
记得格式,所以flag为flag{85ff2ee4171396724bae20c0bd851f6b}
方法二:
在burp里面抓包,然后发送到repeater,在repeater中的headers里添加x-forwarded-for,点击GO,在右面response的raw中出现
注:其实上面的方法原理是一样的,但第一种显然更简单.务必按照顺序进行
在控制台运行源代码中(将eval改为alert)
页面弹出 这段js代码里面的if条件里面有一个字符串,不用想太多,直接把他在表单里面提交,然后就看到了flag点击页面出现的连接,发现网址http://123.206.87.240:8005/post/index.php?file=show.php,file=show.php可以想到上传文件文件漏洞,如若访问index.php就能找到flag?不要犹豫,想到就去试。但是如何访问呢?在PHP里面独有个协议:php://filter, 用php://filter/read=convert.base64-
encode/resource=index.php(即以base64加密的方式读取resource的内容)来替换show.php,出现
PGh0bWw+DQogICAgPHRpdGxlPkJ1Z2t1LWN0ZjwvdGl0bGU+DQogICAgDQo8P3BocA0KCWVycm9yX3JlcG9ydGluZygwKTsNCglpZighJF9HRVRbZmlsZV0pe2VjaG8gJzxhIGhyZWY9Ii4vaW5kZXgucGhwP2ZpbGU9c2hvdy5waHAiPmNsaWNrIG1lPyBubzwvYT4nO30NCgkkZmlsZT0kX0dFVFsnZmlsZSddOw0KCWlmKHN0cnN0cigkZmlsZSwiLi4vIil8fHN0cmlzdHIoJGZpbGUsICJ0cCIpfHxzdHJpc3RyKCRmaWxlLCJpbnB1dCIpfHxzdHJpc3RyKCRmaWxlLCJkYXRhIikpew0KCQllY2hvICJPaCBubyEiOw0KCQlleGl0KCk7DQoJfQ0KCWluY2x1ZGUoJGZpbGUpOyANCi8vZmxhZzpmbGFne2VkdWxjbmlfZWxpZl9sYWNvbF9zaV9zaWh0fQ0KPz4NCjwvaHRtbD4NCg==
将其进行解码,得到flag,(大胆放开思维,打好基础)
这题挺简单的,5位数直接在burp里面爆破就行。但是这回在inruder中的payloads里面payload type选择numbers,然后下面的数字范围选择从10000 - 99999,如下图所示。
但是这里有一个问题,就是我直接这样点击attack它会出现错误,提示:No payload positions defined. 查了好长时间,终于找到了解决方法https://blog.csdn.net/Langtuteng17/article/details/80450354,按照步骤最终得到flag
看到一串字符串(字符串前后重复),直接想到的就是解码,但是试了几乎所有的,毫无意外以失败告终。
用御剑扫描尝试,还是没有结果。(我搜了网上的答案,好多都是用御剑扫出来的,我的也不知道是咋回事)
想到题目提示备份,默认访问的是地址的index.php文件,备份文件的后缀.一般都是这几种:rar .zip .7z .tar.gz .bak .swp .txt .html,经过多次尝试,发现当地址被构造成 http://123.206.87.240:8002/web16/index.php.bak 的时候会得到一个文件。
分析里面的PHP代码可得出结论:要想得到flag,就要使得key1不等于key2,但是他两的MD5只要相等。然后怎样绕过这个,还是参考一下大佬的答案吧!写的很是详细。
大佬答案:http://www.manongjc.com/article/107754.html
Notice:
准备好sql注入: