SQL注入基础:8.cookie注入

SQL注入基础:8.cookie注入

8.1 cookie注入攻击

在这个URL里没有发现参数,使用Burp抓取数据后,发现cookie里存在数据。

SQL注入基础:8.cookie注入

1)判断是否存在注入

在cookie里依次做如下修改:

id=1’,id=1 and 1=1,id=1 and 1=2

结果如下,说明存在SQL注入漏洞。

SQL注入基础:8.cookie注入SQL注入基础:8.cookie注入SQL注入基础:8.cookie注入

2)查询字段数量

判断出字段数量是:3。

SQL注入基础:8.cookie注入

查询SQL语句插入位置。

SQL注入基础:8.cookie注入

3)查询数据库库名

(1)查询当前数据库库名

SQL注入基础:8.cookie注入

(2)查询所有数据库库名

SQL注入基础:8.cookie注入

像这样,构造不同的union注入语句,就可以得到完整的数据库库名,表名,字段名和具体数据。

8.2 cookie注入PHP代码

<?php
header("Content-Type:text/html;charset=utf8");
$con=mysqli_connect("localhost","root","root","security");
mysqli_set_charset($con,'utf8');
if(!$con){
  echo "Connect failed : ".mysqli_connect_error();
}

//设置cookie值
$value="1";
setcookie('id',$value);
//获取cookie的值
$id=$_COOKIE['id'];
$result=mysqli_query($con,"select * from users where `id`=".$id);
$row=mysqli_fetch_array($result);
if ($row) {
  echo $row['username'].":".$row['password'];
}else{
  echo "查询有误!";
}
?>