【网络安全:XiaoL_002靶场通关教程】
【网络安全:XiaoL_002靶场通关教程】
信息:
发布者:是小新呀
发布日期:26-5-9
靶场系统:Ubuntu
中间件:Apache
数据库:mysql
编程语言:PHP7.4
使用教程:
鼠标右键打击打开,找到XiaoL002文件夹选择XiaoL002.ovf文件后打开
虚拟机名称:xiaoL_002
虚拟机路径:任意
开始渗透测试:GO!
目标:192.168.10.137
可以看出来有4个端口,不同的是22端口是处于关闭状态,这很奇怪,其他的端口都是filtered状态。或许是通过某一个触发条件让22端口处于开放
接下来我们访问一下80端口
是一个日本的网站,先进行网站指纹提取
(whatweb http://192.168.10.137/)
目标系统是Ubuntu Linux,中间件是Apache[2.4.41]
我们先看一下网站有没有存在sql注入
(sqlmap -u "http://192.168.10.1/?page=info&worldid=1&id=1" --dbs --batch --level 5)
看起来sqlmap用不了哈哈,应该有简单的WAF(防火墙)
接下来手动试一下,我们加一个单引号试一下
可以看到报错了,这说明网站存在SQL注入,那为什么sqlmap用不了呢?
我们继续尝试联合查询
可以看到order 的or被过滤了,试一下大小写?
还是不行啊,既然or过滤了,试一下oorr
为什么这样可以呢?因为看得出来过滤的方式是替换空白,而且只遍历一次
也就是说oorr里面蓝色的or被替换空白,就成为了or。结合der就是order 刚好绕过
但是为什么会提示null:Unknown column '50' in 'order clause'这个呢?
也就是说数据库中的数据表<50字段
试一下10?
还是数据库<10,试一下5?
可以显示了,说明5>=数据库中的数据表字段,试一下6?
可以说明,数据库中的数据表就是5个字段
接下来联合查询
Union和select被过滤了…
根据上面的经验,直接绕过!
但是为什么没有回显示的位置呢?
因为id=1,只需要修改id=-1即可,因为数据库查不到哈哈
哈哈,我们可以用mysql读取/etc下的passwd文件,所以接下来就..你懂的
需要用到mysql的函数load_file(“/etc/passwd”)
还记得端口扫描吗?
可以看出来有4个端口,不同的是22端口是处于关闭状态,这很奇怪,其他的端口都是filtered状态。或许是通过某一个触发条件让22端口处于开放
或许可能存在敲门服务?
试一下/etc/knockd.conf?
哈哈找到了,可以看出来,只需要用敲门就可以开放22,
你的kali需要安装敲门程序哦(apt install knockd)
经过分析,发现开放的端口是5200,6300,7400,关闭的是7400,6300,5200
我们想开门就执行knock 192.168.10.137 5200 6300 7400 -v
再扫描一下端口
22端口开了
突然没思路了怎么办?不是有smb嘛
开始扫描gogogo!!!
执行命令(enum4linux 192.168.10.137)
有一个,//192.168.10.137/AnonymousShare/
可以发现有一个用户名是tom
我们先试一下smb
有一个mail.txt文件
下载一下
内容是:
「こんにちは、??なる友人
最近、急な出?で私のウェブサイトの世?ができません。サ?バ?のメンテナンスを手?っていただけませんか?私のサ?バ?パスワ?ドは xlpassword123 です。よろしくお?いします。」
中文是:「你好,亲爱的朋友
最近,由于突然的情况,我无法管理我的网站。你能帮我维护服务器吗?我的服务器密码是 xlpassword123。谢谢。」
我们知道了密码,要不试一下root登录ssh?
不对..试一下tom
登陆成功!
接下来怎么办?sudo -l一下?
可以看出来有(root) NOPASSWD: /var/smb/vim
Ls一下
这下好玩了,我们可以用vim提升权限
输入set shell = /bin/bash
然后回车
输入:shell
然后回车
提权成功!!!!
接下来换红色!
echo "" > index.php
找到网站根目录
Var/www/html
执行命令
打开网站!!!