攻防世界WBE高手进阶区第二周

Web_php_unsrialize

[题目描述]暂无
[题目场景]
攻防世界WBE高手进阶区第二周

先对代码进行分析 从代码中可以看出需要得到var参数,并且参数的值需要满足三个条件
1.满足base64加密;2绕过wakeup函数;3绕过preg_match的正则表达式
根据提示

攻防世界WBE高手进阶区第二周

首先序列化fl4g.php 假设$Y=new Demo(‘fl4g.php’);
攻防世界WBE高手进阶区第二周
得到 O:4:“Demo”:1:{s:10:“Demofile”;s:8:“fl4g.php”;}
而正则匹配的规则是: 在不区分大小写的情况下,若字符串出现 “o:数字” 或者 "c:数字’ 这样的格式,那么就被过滤。那么绕过正则表达式将O:4改为O:+4,即可被绕过且值不变
当序列化字符串中表示对象属性个数的值大于真实的属性个数时会跳过__wakeup的执行。所以将:1:改为:2:
即可绕过wakeup函数
攻防世界WBE高手进阶区第二周
攻防世界WBE高手进阶区第二周
所得的结果即为参数var的值

将url改为
http://220.249.52.133:46868/?var=TzorNDoiRGVtbyI6Mjp7czoxMDoiAERlbW8AZmlsZSI7czo4OiJmbDRnLnBocCI7fQ==得到
攻防世界WBE高手进阶区第二周

Ics_06

[题目描述] 云平台报表中心收集了设备管理基础服务的数据,但是数据被删除了,只有一处留下了入侵者的痕迹。
[题目场景]
攻防世界WBE高手进阶区第二周

根据题目描述,我们打开报表中心进行查看
攻防世界WBE高手进阶区第二周
观察url可以看到参数id=1,利用burp**参数id的值
攻防世界WBE高手进阶区第二周
攻防世界WBE高手进阶区第二周
攻防世界WBE高手进阶区第二周

根据**结果可以看出参数id的值为2333,将url改为http://220.249.52.133:30307/index.php?id=2333即可得到
攻防世界WBE高手进阶区第二周

Warmup

[题目描述]无
[题目场景]
攻防世界WBE高手进阶区第二周
页面什么都没有,我们先查看代码源
攻防世界WBE高手进阶区第二周
在代码源中我们可以看到有source.php,先对它进行访问得到
攻防世界WBE高手进阶区第二周
根据代码我们可以看到有hint.php,先对它进行访问可以看到
攻防世界WBE高手进阶区第二周
也就是说我们访问ffffllllaaaagggg就可以得到flag,返回到source.php页面
审计代码我们可以看到最后有include可以构造参数
根据代码我们可以知道、
$whitelist = [“source”=>“source.php”,“hint”=>“hint.php”];
攻防世界WBE高手进阶区第二周
如果参数中有soure.php或者是hint.php即为真
攻防世界WBE高手进阶区第二周

所传入的参数中取第一个“ ? ”之前的内容进行判断
攻防世界WBE高手进阶区第二周

如果为真,再重复上述步骤,所以payload的参数形式已经确定了,剩下就是路径不知道,我们先进行测试,将url改为http://220.249.52.133:49578/?file=source.php?/ffffllllaaaagggg,会发现什么都没有
攻防世界WBE高手进阶区第二周
根据上述内容我们可以将paylod构造成http://220.249.52.133:49578/?file=source.php?/…/ffffllllaaaagggg这样的形式,可以依次增加进行测试
当url改为http://220.249.52.133:49578/?file=source.php?/…/…/…/…/ffffllllaaaagggg,此时可以得到
攻防世界WBE高手进阶区第二周

NewsCenter

[题目描述]如题目环境报错,稍等片刻刷新即可
[题目场景]
攻防世界WBE高手进阶区第二周

先进行测试判断是什么类型的注入 先写 and 1=1#进行判断,发现不能正常显示,改为 ‘and 1=1#,发现可以正常显示,则此注入类型为字符注入
攻防世界WBE高手进阶区第二周
攻防世界WBE高手进阶区第二周
接下来我们测试字段的长度,当 ‘order by 3#页面显示正常,但当 ‘order by 4#页面报错,所以我们可以得出字段的长度为3
攻防世界WBE高手进阶区第二周
攻防世界WBE高手进阶区第二周
有三个字段,现在我们需要知道那些字段的位置可以进行传输,直接用‘select 1,2,3会发现页面报错,用’and 1=2 union select 1,2,3# 则页面返回正常,支持使用union联合查询注入
攻防世界WBE高手进阶区第二周
即2、3位置可以用来进行传输

获取数据库
攻防世界WBE高手进阶区第二周
由此我们可以知道数据库的名称为news

获取数据库中的表
命令’and 1=2 union select 1,2,TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA=‘news’# 得到表名为 secret_table
攻防世界WBE高手进阶区第二周

获取在表中的字段
命令’and 1=2 union select 1,2,COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME=‘secret_table’ 可以看到有fl4g字段
攻防世界WBE高手进阶区第二周

获取flag
命令’and 1=2 union select 1,2,fl4g from secret_table#
攻防世界WBE高手进阶区第二周

NaNNaNNaNNaN_Batman

[题目描述]无
[题目场景]无
[题目附件]
我们先用记事本打开
攻防世界WBE高手进阶区第二周
发现这是一个html页面,我们用浏览器打开可以看到
攻防世界WBE高手进阶区第二周
应该是在框内输入参数获得flag

获取源代码
攻防世界WBE高手进阶区第二周
我们需要知道$ ()的内容是什么
在 script 中有$() 解析代码可以得出 $()中参数的长度为16
这里用到了正则表达式,^表示开头一定要匹配到be0f23, $表示结尾一定要匹配到e98aa,其它的位置只要匹配到就好,没有位置要求。
这些字段加起来长度超过了16,所以只是选取每个字段中的一部分,根据观察可以发现,字符串呈现了接龙的形式,整理如下

攻防世界WBE高手进阶区第二周
所以$()参数的值为be0f233ac7be98aa,在输入框中输入可以得到
攻防世界WBE高手进阶区第二周