WEB渗透实验-你是会员吗?-实验记录
感谢以下几位作者的解题思路:
寿桃:https://bbs.ichunqiu.com/thread-8263-1-1.html
white55:https://bbs.ichunqiu.com/thread-8816-1-1.html
独狼1927:https://bbs.ichunqiu.com/thread-19746-1-1.html
wasrehpic:https://bbs.ichunqiu.com/thread-35501-1-1.html
题目介绍:
本题是CTF大本营->竞赛训练营-> 渗透测试入门 分类 的一道初级题目,虽然是初级题目,但是这道题做起来挺耗时间的,实践并掌握本题中的所有知识点,对渗透测试的基本理解有很大帮助。
此题的有两个目标:
目标一: 获得网站用户名和密码
目标二: 读取网站flag文件
解题思路:
第一步:由左侧实验手册中需要使用到BURP可知,这道题需要抓包改包,从SQLMAP工具可知,应该是SQL注入漏洞,通过抓包改包来构造非法SQL注入请求。
第二步:我们需要找到网站登录后台,上传木马继而入侵服务器找到存放 flag 的文件。
题目链接:https://www.ichunqiu.com/battalion?t=2&r=54399
完成目标一:获得网站用户名和密码
目标网站类型是XDcms,挺古老的一款产品,
百度一下:XDcms专用工具,
好像用的人并不多,这里就不去尝试专用工具了。
用这种古老系统的管理员,安全意识也不会太高,
百度一下:XDcms默认用户名
有一个默认用户 xdcms 密码是 xdcms,经试验,成功登陆进入系统。
找了一轮,没发现可以上传文件的地方,看来此事不简单。
我们百度一下 这种系统有哪些漏洞可以利用的
点击第一个链接,里面介绍了,可以利用会员注册中的SQL 注入漏洞,并给出了注入的EXP
EXP: [在邮箱处填写exp]
2345'' where userid=6 and(select 1 from(select count(*),concat((select (select (select concat(0x7e,0x27,username,0x3a,password,0x3a,encrypt,0x27,0x7e)from c_admin limit 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)#
很可惜,我们的这个XDcms注册页面没有Email填写的地方。故第一个EXP失效。
第一次EXP尝试记录如下
给谷歌浏览器 设置 代理 127.0.0.1,8080端口,这样数据包会发给Burp
回到Burp看看 ,如果 拦截状态是 on ,把它关了,
然后打开会员注册页面,验证码可能会很模糊,换一张有把握的。
在点击注册按钮前把拦截状态切换为 on。
没有email,那我们尝试在用户名处用这个EXP,并反复调整,因为我的技术菜到抠脚,弄了20多分钟还是没能完成注入。第一个EXP尝试宣布结束。
我们调整搜索关键字,继续搜索:
我们点击第二个链接,里面给出了第二个 EXP(这个EXP成功了)
EXP: : [在用户名处填写exp] 注意 大小写,小写会被安全机制过滤,大写不会。
‘ UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14 FROM (SELECT
count(1),concat(round(rand(0)),(SELECT concat(username,0x23,password) FROM
c_admin LIMIT 0,1))a FROM information_schema.tables GROUP by a)b#
看到是32位的首先想到MD5加密, 破解比较常规,注意到,这个系统会加密2次。
Xdcms212
第一次:e890790166bfb88ee91047c64cda7aad
第二次:1be2 0cb2 907e dca1 e4f5 5f37 5a56 63f1
故用户名是 xdcms121 密码是 xdcms212
提交第一题答案
完成目标二:读取目标网站目录中的flag文件信息。
现在我们想用刚才的登录名和密码 登录上去管理网站。
我们想获得后台登陆目录,这里使用御剑来查找网站目录,速度挺快的,大概5秒左右,可以扫出 admin目录。
注意事项:使用御剑前,关闭Burp的拦截。
完成登录
进入后台
点击各个模块搜寻一轮后,没发现PHP模板,修改模板插入一句话木马的方法行不通,
在最后一个模块-模块管理 中发现幻灯片管理,可以上传图片。
第一反应,我们尝试把一句话木马写入图片中,再上传图片。
先百度一下看看有没有成功的案例:
在第二个链接CSDN 博客中,可以发现方法可行,已有通过图片木马成功拿shell的例子。大胆放手干就是了。
任意找到一张图片 ,新建含有一句话木马的文本文档 tt.txt,在命令行模式下用 copy 命令合并两个文件:
打开 cmd
cd c:\documnets and settings\administrator
dir 尝试列出目录中的文件。
copy jj.jpg/b + tt.txt/a result.jpg /y
Notepad 查看result.jpg ,拉到最下面。
可以验证:木马已经写进图片。
这里有两个上传按钮,弹出层画红圈的上传按钮点击后,即可在Burp中找到上传记录。
可知刚才的图片木马地址为 uploadfile/image/20190418/201904180949160.jpg
接下来想办法,如何将图片解析为php执行。
———————————————————————————————————————————
文件执行漏洞说明
由于 /uploadfile/ 在网站根目录下,而根据漏洞说明中的源码,可知参数 m 是在 /system/function/global.inc.php 文件中被引用,
这个漏洞会误以为 jpg图片 是模板中的一员,作为php文件执行。
——————————————————————————————————————————
菜刀地址,填入jpg图片地址,/uploadfile/image/20190418/201904181046050.jpg
这里会报错,根据报错信息,地址栏发生变化,
需要在后面加%00 截断 /uploadfile/image/20190418/201904181046050.jpg%00