1.update与注入逻辑

编程入门 行业动态 更新时间:2024-10-24 18:29:06

1.update与注入<a href=https://www.elefans.com/category/jswz/34/1768871.html style=逻辑"/>

1.update与注入逻辑

这里是对于Mysql update指令的注入讲解,首先要先来介绍一下update函数的使用 UPDATE是对Mysql中数据修改的指令,想要修改数据库中的一些数据就需要用到UPDATE
UPDATE users 
SET gold = gold+10000 
WHERE username=admin

通过这一指令我们就可以对数据库中的数据进行修改将username=admin的这一列的gold加10000

现在来构建一个PHP页面和一个HTML页面 首先是test.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>SQL注入测试页面</title>
</head>
<body><div><form action="./index.php" method="GET">请输入您选择的用户要加10000元:<input type="text" name="username"><input type="submit" name="submit"></form></div>
</body>
</html>

之后我们来写一个index.php页面

<?phpinclude("./conf.php");    //这里存放了数据库的配置信息$username = $_GET['username'];$conn = mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);//连接数据库if(mysqli_connect_errno($conn)){die("连接数据库失败:".mysqli_connect_error());}mysqli_query($conn,"set names utf8");$sql ="update users set gold = gold+10000 where username = '$username';";echo $sql;mysqli_query($conn,$sql);mysqli_close($conn);?>

conf.php这里配置数据库信息

<?php$mysql_server_name = 'localhost';$mysql_username = 'root';$mysql_password = 'root';$mysql_database = 'test';
?>

首先我们可以看一下表结构,这里的gold现在是0

现在来访问一下test.html 点击了提交之后我们可以看到这里多了10000 这里因为并没有对前端传过去的数据进行校验,所以一定存在SQL注入漏洞 后台执行的SQL语句是
UPDATE users SET gold = gold + 10000 WHERE username = 'admin';
这里我们构建一个这样payload
' or 1 = 1 # 

所以后台执行的SQL是

UPDATE users SET gold = gold + 10000 WHERE username = '' or 1 = 1 #

这里的#注释会注释掉之后的东西

这里我们来提交数据 可以看到所有的用户都修改了数据

更多推荐

1.update与注入逻辑

本文发布于:2024-03-23 01:28:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1738860.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:逻辑   update

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!