【说明】 整合资源 简略版本2020Bugku write up
Bugku
Web第九题
关键字 :/?args=GLOBALS
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
Web 第十题
关键字:burp抓包 在Headers中
Web第十一题
关键字:御剑后台扫描+Burp Suite抓包爆破
https://jingyan.baidu.com/article/ca41422f054c881eae99eda0.html
https://blog.csdn.net/Mitchell_Donovan/article/details/111479600
第十二题
查看源代码发现了线索,拿去base64解码得到字符串‘test123’ 管理员admin
本地修改
本地: X-Forwarded-For: 127.0.0.1
https://blog.csdn.net/weixin_30466421/article/details/94879929?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduend~default-1-94879929.nonecase&utm_term=xff%E8%AF%B7%E6%B1%82%E5%A4%B4%E4%BC%AA%E9%80%A0
第十三题 web
URL编码的特点就是 %数字%数字%数字 分析重构
第十四题 web
点击后发现,URL栏中出现了一个file=show.php,看到file可以想到这是一个典型的文件包含漏洞,php://filter/read/convert.base64-encode/resource=index.php 这句话的意思是我们用base64编码的方式来读文件index.php;这时页面会显示出源文件index.php经过base64编码后的内容,然后经过base64解码就可以看到flag
① php封装协议
②file=php://filter/read=convert.base64-encode/resource=index.php的含义
首先这是一个file关键字的get参数传递
php://是一种协议名称
php://filter/是一种访问本地文件的协议
/read=convert.base64-encode/表示读取的方式是base64编码后
resource=index.php表示目标文件为index.php
③为什么通过传递这个参数能得到源码
原因在于源代码中使用了include()函数,这个表示从外部引入php文件并执行,如果执行不成功,就返回文件的源码。
而include的内容是由用户控制的,所以通过我们传递的file参数,使include()函数引入了index.php的base64编码格式,因为是base64编码格式,所以执行不成功,会返回源码,由此我们得到了源码的base64格式,解码即可的到源码。
反观,如果不进行base64编码传入,就会直接执行,而flag的信息在注释中,是得不到的。
web15
bp爆破 密码 12468