SQL注入:原理及示例

SQL注入攻击是一种在真实环境中较为常见的漏洞。主要由用户在于服务端数据库,产生交互时,插入恶意数据,从而产生的一种web漏洞,该漏洞可能导致服务端敏感数据泄露,读写数据,严重可控制服务器主机

sql注入示例

前端:用户登录表单

<form action="login.php" method="post">
  用户名:<input type="text" name="username">
  密码:<input type="password" name="password">
  <input type="submit" value="登录">
</form>

后端 :通过拼接用户输入,查询数据库

<?php
$username = $_POST['username'];
$password = $_POST['password'];
// 错误的示例:直接将用户输入拼接到SQL语句中
$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($conn, $query);
?>

当正常用户在前端用户登录表单,输入登录信息,提交到后端服务器时,会将用户输入拼接到数据库查询语句中,进行用户登录的验证

当恶意用户进行登录时会构造下方sql语句从而进行绕过

用户名:admin' --  密码:000000

此时拼接到sql语句中

SELECT * FROM users WHERE username = 'admin' -- ' AND password = '000000'

当此sql语句进行查询时将会直接登录admin用户,无论密码是否正确

原理:

输入用户名时拼接了sql语句,通过 ' 对用户名进行闭合, --  将后续sql语句进行注释。此时数据库进行查询,如果存在用户名为admin的用户,结果返回为真,及可登录。

扩展:如何快速找到真实站点存在的sql注入漏洞

1.打开google[需vpn]浏览器使用高级查询语法,查询可能存在漏洞的url

sql注入漏洞,查询语法集成

2.在注入点输入 ' 观察页面有无异常

3.如有异常进行后续攻击

存在SQL注入漏洞网站[不管用或修复,评论@我换新]

url: https://www.uni-1.com.hk/about_en.php?id=2
注入点类型:数值
sql报错回显:无
sql语句执行:[order by] [union]
字段数:14
回显点:12,13,14

相关推荐

  1. SQL注入原理示例

    2024-07-13 23:42:03       20 阅读
  2. SQL注入原理思路(mysql)

    2024-07-13 23:42:03       55 阅读
  3. SQL注入】报错注入--实战示例

    2024-07-13 23:42:03       34 阅读
  4. SQL注入攻击:原理与防御策略

    2024-07-13 23:42:03       31 阅读
  5. SQL注入的危害和原理

    2024-07-13 23:42:03       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 23:42:03       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 23:42:03       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 23:42:03       62 阅读
  4. Python语言-面向对象

    2024-07-13 23:42:03       72 阅读

热门阅读

  1. Qt/QML学习-动画元素

    2024-07-13 23:42:03       22 阅读
  2. 小程序自学教程

    2024-07-13 23:42:03       20 阅读
  3. C#的DllImport使用方法

    2024-07-13 23:42:03       19 阅读
  4. Elasticsearch-多边形范围查询(8.x)

    2024-07-13 23:42:03       21 阅读
  5. SpringBoot后端代码基本逻辑

    2024-07-13 23:42:03       19 阅读
  6. 响应式编程-数据劫持

    2024-07-13 23:42:03       21 阅读
  7. Vue-生命周期勾子函数

    2024-07-13 23:42:03       18 阅读
  8. 计算机如何学习

    2024-07-13 23:42:03       17 阅读
  9. 要修改已经推送到远程仓库的提交信息

    2024-07-13 23:42:03       18 阅读
  10. linux 设置nginx开机自启

    2024-07-13 23:42:03       23 阅读
  11. c++贪心算法

    2024-07-13 23:42:03       19 阅读
  12. ArcGIS Pro SDK (八)地理数据库 4 查询

    2024-07-13 23:42:03       16 阅读
  13. 文本语言的上升沿写法

    2024-07-13 23:42:03       17 阅读
  14. Aop实现后端数据重复提交

    2024-07-13 23:42:03       24 阅读