前言
由于要准备校赛这周就没有刷sqli靶场了,这篇文章主要写攻防世界中web的部分新手题和进阶题,等校赛环境开了就把校赛的wp写了,下周继续刷靶场。
command_execution
这题难度不是很高,但在web新手题里应该算是最难的了,这题要求我们运用到linux常用指令。不过在这之前,先简单说下提示中的waf,waf为web提供保护,可以有效防护sql注入等等手段,可以和防火墙结合起来一起理解。
接着我们再介绍linux的命令执行中的“&”和“|”的作用:
1 | c1 && c2 先执行c1再执行c2 |
除了这些,我们还得了解linux基本指令。这题我们使用了ls指令和cat指令:
1 | ls 查看目录文件 |
了解了这些,我们就可以解题了。我们直接查找当前目录下的文件:
就像这样,我们一级一级往上查找,找到根目录后进入home中,我们就可以发现flag就躺在里面,用cat指令打开查看就好了。
simple_js
按照道理来说,见面就要输密码的题,一般不太可能字典爆破的出来,再结合题目指向了js,那么我们就去查看网页的js
1 | <html> |
我们发现了一串/x……代码,这串代码的格式为十六进制码,我们把它转换为对应的ascii码值,得出的文本十进制再进行一次转换,得到密码为786OsErtk12,这就是flag内容。
isc-6
根据题目我们进入报表中心,发现了熟悉的get点,这里下意识先进行sql注入,但发现全部尝试都失败了,果断排除sql注入。再经历了御剑,抓包的洗礼也没发现有问题,审计源码也没有问题,种种可能性都被排除,那么我们只能把目光锁定在id值上了。
写一个最简单的脚本:
1 | for m in range(10001): |
输出的数据放入burp suite中进行字典爆破,发现当id值为2333时,返回的长度不同,那么我们把2333get上去,flag就显示出来了。
总结
因为这周没做靶场,就拿这周练习的题目写了点wp,实际上做的题不止这些,不过有些因为过于简单,有些因为比较复杂,就都没有写出来,等实验室的比赛平台开了就去写比赛的wp。