bugku——web

1、本地包含
在这里插入图片描述
知识基础
1、$_REQUEST: 可以获取以POST方法和GET方法提交的数据,但是速度比较慢。
2、eval: 把字符串按照 PHP 代码来计算,该字符串必须是合法的 PHP 代码,且必须以分号结尾。
3、var_dump: 函数用于输出变量的相关信息。

# 数字
var_dump(1); > int(1)
# 字符串
var_dump("string"); >  string(6) "string"

eval应该是此题的突破口,能够执行php代码。
hello是接受参数的变量,接下来就是构建hello变量,使其能够闭合var_dump,利用print_r输出。
首先闭合var_dump: 1)";
第二步构建print_r:print_r(file("./flag.php"));

URL构建结束:
http://123.206.87.240:8003/index.php?hello=1);print_r(file("./flag.php")

构建的URL触发的 eval操作为
eval(“var_dump(1);print_r(file(”./flag.php")")
得到flag
在这里插入图片描述
使用hello构造下面的payload也可以
在这里插入图片描述
echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
print只能打印出简单类型变量的值(如int,string)
print_r可以打印出复杂类型变量的值(如数组,对象)
2、网站被黑
打开题目标题是网站被黑,用御剑扫描一下他的后台,看能不能扫到webshell(也就是一个后门)在这里插入图片描述
在这里插入图片描述
扫出一个后门网页,但尝试一些弱密码后并没有什么效果

在这里插入图片描述
所以尝试使用抓包工具BrupSuite,爆一下密码
在这里插入图片描述
点击 send to intrduer
在这里插入图片描述
开burp进行爆破,这里选择Simple list,字典选择burp自带的Passwords
在这里插入图片描述
开始爆破,得到密码。
在这里插入图片描述
我们输入正确密码得到flag
在这里插入图片描述
3、备份是个好习惯
打开题目看到一大串字符,尝试几个解密解码格式都没有效果。
在这里插入图片描述
根据题目提示备份,查一下备份文件的后缀名为.bak故考虑修改url为index.php.bak
得到一个文件。
在这里插入图片描述
使用sublime打开文件,获得部分源码
在这里插入图片描述
整段代码的意思是将get的两个参数中的key替换为空(这里可以用kekeyy双写绕过),然后对key1,key2的值进行md5加密,并进行比较,key1和key2的值不能相同但md5值相同,通过传入值不相同的数组可以实现。
最终的payload为
http://123.206.87.240:8002/web16/?kekeyy1[]=something&kekeyy2[]=anyhing
得到flag
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值