简单的传参
大前提之手撕hackbar
手撕hackbar 2.31_哔哩哔哩_bilibili
按教程弄好后edge浏览器也是一样的原理用开发者模式扩展上去
(1)easy_md5
$name != $password➡️要求name和password数值不同
&& md5($name) == md5($password)➡and两者加密成32位md5转换值相等➡️0e###=0
⭐ps:== 等于运算符,常见于弱类型题目, 比较时不同类型会被转换成数字;
php处理0e开头字符串会当成科学计数法进行处理0e+任意数字都=0
膜拜的博客:
https://blog.csdn.net/qq_74020399/article/details/131132384
检查 ➡️打开hackbar ➡️
⏯️excute得flag
(2)easy_include
直接传入file运行
得到:
flag 在flag.php中
这里我们知道了存放flag的文件地址,利用php://filter伪协议查看源代码
构造:file=php://filter/convert.base64-encode/resource=flag.php
得到:
PD9waHANCiRmbGFnPSdOU1NDVEZ7NDk0YjMwNmUtOGJkYy00ODA2LWFlZGYtNmY4NGNiZDMyMDg2fSc7
用base64解码器解码得到flag(在线工具 - Bugku CTF)
⭐ps:php://filter 是一种元封装器, 设计用于数据流打开时的[筛选过滤](http://docs.php.net/manual/zh/filters.php)应用。 作为中间流处理其他流
语法:php://filter/read/resource=文件名
php://filter 的 参数列表
a.read 读取(可选)
string.strip_tags 将数据流中的所有html标签清除
string.toupper 将数据流中的内容转换为大写
string.tolower 将数据流中的内容转换为小写
convert.base64-encode 将数据流中的内容转换为base64编码
convert.base64-decode 与上面对应解码
b. write 写入(可选)
c.resource 数据来源