【网络安全:XiaoL_002靶场通关教程】

2 阅读 2026-07-18

【网络安全: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

执行命令

打开网站!!!