zoukankan      html  css  js  c++  java
  • SQL注入之宽字节注入

    简介

    宽字节注入是相对于单字节注入而言的。单字节注入就是大家平时的直接在带有参数ID的URL后面 追回SQL语句进行注入。比如:http://www.hackest.cn/article.php?id=1and 1=1/*

    http://www.hackest.cn/article.php?id=1and 1=2/*,这个经典的判断目标是否存在注入的例子就是单字节注入。

    理论上说,只要数据库连接代码设置了GBK编码,或者是默认编码就 是GBK,那现在的程序里到处都是注入漏洞。事实上,这种变换在XSS等领域也发挥了巨大的作用,在PHP+Linux后台程序结合的时候,还可能造成命 令注入,也就是说能可以在注入点直接执行Linux系统命令。比如登录文件login.php的代码如下:

    <?php $conn=mysql_connect("localhost","root","hackest"); mysql_query("SET NAMES 'GBK'"); mysql_select_db("test",$conn); $user=mysql_escape_string($_GET['user']); $pass=mysql_escape_string($_GET['pass']); $sql="select * from cms_user where username='$user' and password='$pass'"; $result=mysql_query($sql,$conn); while ($row=mysql_fetch_array($result, MYSQL_ASSOC)) { $rows[]=$row; } ?> 

    则可以通过构造以下语句进行注入:

    http://www.hackest.cn/login.php?user=%df'%20or%201=1%20limit%201,1%23&pass=

    %20是空格的URL编码,%23是#的URL编码,Mysql注释符之一。对应的SQL语句是:

    select * fromcms_user where username='運'or 1=1 limit 1,1#' and password="

    以下为URL编码:

    %27---------单引号

    %20----------空格

    %23-----------#号

    %5c------------/反斜杠

  • 相关阅读:
    Javascript 闭包
    纯CSS实现侧边栏/分栏高度自动相等
    css实现16:9的图片比例
    CSS实现宽高成比例缩放
    div等比例缩放-------纯CSS实现自适应浏览器宽度的正方形
    websocket 实现简单网页版wechat
    Flask 简单使用,这一篇就够了!
    图灵机器人 V1 和 V2 接入方法
    Django中的cookie和session
    django 三件套(render,redirect,HttpResponse)
  • 原文地址:https://www.cnblogs.com/leeqizhi/p/12363177.html
Copyright © 2011-2022 走看看