0、前言
最近在做CISP-PTE的培训,所以把web题靶场答题过程记录并分享一下。
1、靶场连接:
通过网盘分享的文件:pte-centos.rar
链接: https://pan.baidu.com/s/11cx4XAUS947Q0mrFtK0kPA?pwd=b3rj 提取码: b3rj
解压密码:PTE考试专用
2、CISP-PTE考试环境源码,熟悉docker的可以自己安装。
通过网盘分享的文件:CISP-PTE考试环境源码.zip
链接: https://pan.baidu.com/s/1uiPoprgyx6nWMkub1RnrMw?pwd=nhii 提取码: nhii
虽然靶场比较老,但是可以做为参考。自己下载搭建虚拟机环境比较稳定,网上也有不少在线靶场,但是存在key读取有问题,或者上传webshell不生效的问题。网上靶场搜索办法:可以使用fofa、钟馗之眼、鹰图等网站搜 title=cisp-pte,可以搜处不少该靶场。
1、环境搭建
虚拟机下载以后开始启动,默认账户:root/admin123。
默认不允许root登录,可以修改/etc/ssh/sshd_config
PermitRootLogin yes
保存退出,重启ssh服务
service sshd restart
默认虚拟机启动后网卡是NAT模式,并且是静态ip,默认172.16.12.100,需要修改为自己所在主机NAT网卡网段地址;
vi /etc/sysconfig/network-script/ifcfg-eth0
需要修改文件内的IP地址和网关,修改示例:
IPADDR=192.168.136.170
NETMASK=255.255.255.0
GATEWAY=192.168.136.2
修改完毕重启系统,重启后查看IP地址和docker启动情况,保证5个容器都为启动状态,同时ip地址为自己实际环境ip。
容器有点不稳定,使用docker ps -a,查看所有容器状态,发现没有启动的容器后使用命令:docker start a4fdd76450b1,启动容器。保证容器启动状态。
2、开始答题
第一到第五题端口分别对应81--85。
2.1 基础题目之SQL注入
第一题是sql注入,点击开始答题。
闭合语句尝试,id后面跟1') and 1=1#,注意#使用url编码:%23,或者全部都使用url编码。
发现空格过滤,使用注释分割/**/绕过。
判断字段数:
可以使用order判断,发现order by 4可以显示,5不显示。
或者使用group by来判断。
找回显点
使用union找回显点,发现union被过滤,使用双写绕过过滤。
id=-1,读文件直接用load_file即可。
http://192.168.136.170:81/vulnerabilities/fu1.php?id=-1%27)/**/uniunionon/**/select/**/1,2,load_file(%27/tmp/360/key%27),load_file(%27/tmp/360/key%27)%23
2.2 基础题目之文件上传突破
总的解题思路:使用BP进行拦截上传数据包,修改文件名、MIME、文件头部信息。
实际做的时候有技巧,可以先上传合格的图片文件,查看信息和路径。
还需要准备哥斯拉、冰鞋、中国菜刀、御剑等软件生成webshell。这里我使用哥斯拉。
点击管理---生成,选择php载荷,密码默认,生成php格式的webshell。
把生成的webshell拷贝到桌面,上传时浏览该文件,点击上传。
这时候BP会拦截到请求,修改请求内容。
修改前和修改后
提示上传成功,点击查看。
把url复制到哥斯拉,添加目标---进入。进入目录管理,在html目录下找到key。
或者在文件浏览窗口打开key文件。
2.3 基础题目之文件包含
点击开始答题,尝试把file=view.html修改成为其他文件。
发现可以直接包含。然后file=../key
提示Get it!,但是页面没有,源代码内也没有。这时候需要PHP伪协议读取文件内容,而不是打开文件。
http://ip/vulnerabilities/fu1.php?file=php://filter/read=convert.base64-encode/resource=../key.php
这是base64编码,解码后得到:
2.4 基础题目之命令执行
开始答题,验证主机是否存活,输入某主机ip,如127.0.0.1
发现执行ping命令,可以在ip后面跟分号,再加上要执行的命令。或者直接输入分号加命令。
通过测试发现ls、cat、more命令过滤了。提示包含敏感字符。
可以使用tail,head,tac等命令。
这时候查看源代码就可以看到key
或者使用;tac ../key.php命令直接读取。
2.5 基础题目之日志分析
下载日志,过滤172.16.12.12,发现好多404报错,猜测在目录扫描。
再继续分析,过滤200的请求,发现登录界面:adminlogin.php
网上其他的资料说使用bp暴力破解就可以。
在实际工作中应该关注post 200的请求,看看上传了什么文件。
BP暴力破解过程不展示了,密码:admin/password123
登陆以后就可以看到key
3、over
以上过程有更好的解题思路欢迎留言。
至此5道题都已经解开,第三题主机题得10分,选择题得十分,就稳过了。不过这是很久之前的题了,不知道最近更新没有。