当前位置: 首页 > news >正文

石家庄seo网络优化的公司东莞seo优化公司

石家庄seo网络优化的公司,东莞seo优化公司,linux把wordpress,速拓科技是做网站SQL注入注入方式(大纲) 常规注入 通常没有任何过滤,直接把参数存放到SQL语句中。 宽字节注入 GBK 编码 两个字节表示一个字符ASCII 编码 一个字节表示一个字符MYSQL默认字节集是GBK等宽字节字符集 原理: 设置MySQL时错误配置…

SQL注入注入方式(大纲)

常规注入

通常没有任何过滤,直接把参数存放到SQL语句中。

宽字节注入

  • GBK 编码 两个字节表示一个字符
  • ASCII 编码 一个字节表示一个字符
  • MYSQL默认字节集是GBK等宽字节字符集

原理: 设置MySQL时错误配置为set character_set_client=gbk (它将客户端字符集设置为 GBK 编码),这样会引发编码转化,导致出现注入漏洞。

  1. 正常情况下,GPC开启或使用addslashes函数过滤GET或POST提交的参数时,攻击者使用的单引号**’就会被转义为 \'。(GPC开启或使用addslashes函数过滤:在特殊符号前加入\**,从而达到安全的目的。)
  2. 但如果存在宽字节注入,我们输入**%df%27时,首先经过单引号转义成%df%5c%27**(%5c为反斜杠\)(%df为GBK编码中的一个特殊字符,表示为空格)之后在数据库查询前使用了GBK多字节编码,即在汉字编码范围内两个字节会被编码为一个汉字。
  3. 然后MySQL服务器会对查询语句进行GBK编码,即%df%5c转化成汉字,而单引号由于GBK为两个字节表示一个字符的原因保留下来,从而造成注入漏洞。

若有一个网站其链接为http://123123/text.php?id=1,并且其存在宽字节注入。

则构造http://123123/text.php?id=1%df’or 1='1

当后端php代码像这样则导致参数宽字节注入。

`mysql_query`PHP 中用于执行 MySQL 数据库查询的函数之一。该函数接受一个 SQL 查询作为参数,并将其发送到 MySQL 数据库进行执行。在执行查询后,`mysql_query` 会返回一个结果资源(resource)或者布尔值(truefalse),具体取决于查询的类型和执行是否成功。
mysql_query("SET NAMES 'gbk'");  //设置mysql连接字符集为gbk编码的语句。
$id=isset($_REQUEST['id']) ? addslashes($_REQUEST['id']) :0; //判断是否存在,并且使用/过滤特殊符号
$query = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";

同理:SET NAMES 'gbk’可以理解为:

set character_set_client=gbk;
set character_set_connerction=gbk;
set character_set_results=gbk;

在这个代码中addslashes函数将 前加了**\符号,变成%df\'**。

在进行GBK编码时,将%df%5c看成一个宽字符,得到連’,造成注入。

二次编码注入

二次编码注入,即二次urldecode注入,是因为urldecode使用不当造成的。

在PHP中,有以下常用的过滤函数:

addslashes(),mysql_real_escape_string(),mysql_escape_string(),或者魔术引号GPC开关来防止注入。

以上函数都是通过在特殊字符前添加反斜杠进行转义。

但这些函数在遇到urldecode()函数时都会因为二次解码引发注入。PHP在处理提交数据前就会进行一次url解码,然后urldecode()函数又进行了一次解码。

例如:构造id=1%2527(%25=%),解码一次后会变成1%27,再进行解码变成id=1‘,单引号引起注入。

同理:rawurldecode()也会造成同样问题。

若mysql_real_escape_string()在urldecode()之前,则不会过滤urldecode()产生的单引号。

Base64编码注入

如果存在Base64_decode()函数,并且没在后面有过滤直接拼接到SQL语句中,则导致了SQL注入。

堆叠注入

  1. 原理:mysql数据库sql语句的默认结束符是以";"号结尾,在执行多条sql语句时就要使用结束符隔
    开,而堆叠注入其实就是通过结束符来执行多条sql语句。

  2. 触发条件

    1. 存在可以同时执行多条sql语句的函数,比如:mysql_multi_query()函数。
    2. 未对**;**进行过滤。

漏洞类型

  1. 可显注入

    攻击者可以直接在当前界面获取想要信息

  2. 报错注入

    数据库查询返回结果没有在页面中显示,但是应用程序将数据库报错信息打印到了界面上,所以可以借报错信息获取想要的内容。

  3. 盲注注入

    数据库结果无法从界面中直接获取。

    1. 布尔注入

      利用Mysql条件不成立时返回空内容,条件成立时返回正常的数据的特点进行攻击。例如substr函数截取内部返回值与字符进行比较,遍历比较还原内人2

    2. 时间盲注

      通过substr截取返回信息的字符,通过字符推算出最终结果,但是其是通过返回时间来判断的。

http://www.yayakq.cn/news/202894/

相关文章:

  • 企业网站备案流程外贸网站建设报价
  • 商城版网站建设网站建设学生兼职
  • 阿里巴巴做网站分录绵阳网站建设怎么做
  • 宁波网站推广公司有哪些asp网站打开速度慢
  • 网站备案取消接入如何开发自己的软件
  • 网站案例介绍网站建设如何收费
  • 湘潭网站制作建设网站建设是什么软件
  • 创建自己的博客网站阿里网站域名指向怎么做
  • 深圳趣网站建设acf wordpress
  • 网站开发+语音网络市场前景分析
  • 湛江做网站优化衡阳做淘宝网站建设
  • 如何做企业网站及费用问题漳平建设局网站
  • 建立网站的步骤筝晃湖南岚鸿官网wordpress收录查询插件
  • 网站手机版下悬浮条怎么做网站建设银行北京冬奥会纪念币发行时间
  • 做网站后端如何接业务教育培训机构微网站模板
  • 宁波东钱湖建设局网站关于做无机化学实验的网站
  • 安徽手机版建站系统信息郑州电子商务网站建设
  • wordpress目录调用重庆seo技术博客
  • 江阴做网站优化做网站需要具备的基础条件
  • 申请自己的网站建筑设计软件有哪些软件
  • 建设企业网站的需要多长时间镇江网站建设方式优化
  • 查看网站点击量知乎网站内容建设的逻辑
  • 网站按城市做分站阿里云网站建设需要多少钱
  • 自己做培训需要网站吗网络销售培训学校
  • 深圳做网站排名中讯高科网站建设
  • 如何做监控网站wordpress网站用户注册
  • php做网站主要怎么布局哈尔滨网站设计
  • 网络营销的方法有哪些?seo网站优化经理
  • 网站开发kxhtml义乌建设公司网站
  • 网站分为哪几种类型天睦和生态建设有限公司网站