zoukankan      html  css  js  c++  java
  • sqlilabs less39-45

    堆叠注入

    在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union 或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。例如以下这个例子。用户输入:1; DELETE FROM products服务器端生成的sql语句为:(因未对输入的参数进行过滤)Select * from products where productid=1;DELETE FROM products当执行查询后,第一条显示查询信息,第二条则将整个表进行删除。

    堆叠注入的局限性

    堆叠注入的局限性在于并不是每一个环境下都可以执行,可能受到API或者数据库引擎不支持的限制,当然了权限不足也可以解释为什么攻击者无法修改数据或者调用一些程序。

    less-39操作过程


    1.看报错,发现是整型数据

     2.使用堆叠注入,可以看到堆叠注入已产生效果,创建了一个表crow

     less-40操作过程

    闭合方式(‘’)

     less-41操作过程

    第41关是整型

     less-42操作过程

    属于post类型的注入

     使用堆叠注入然后登陆失败了,但是我们试试看能不能用修改了的密码登陆成功

     

     less-43操作过程

     测试登陆,成功

     less-44操作过程

    less44没有回显报错信息

     直接按照老思路,堆叠注入,使用‘闭合试试看能否改密码,如果能改则证明我们的闭合方式正确

    less-45和44的操作一样,不同的是sql闭合方式为(’‘),知道闭合方式后我们直接堆叠注入即可。

  • 相关阅读:
    Android 架构:Android Jetpack 架构组件的学习和分析
    Android 看源码学 Binder
    Android Okhttp 源码分析(待完成)
    Android Glide 源码分析系列(待完成)
    界面2
    使用spring 4.0 + maven 构建超简单的web项目
    maven中跳过单元测试
    Hibernate+maven+eclipse 实现自动建表
    android开发学习---开发一个简易的短信发送器
    java面试题--实现一个百亿的计算器
  • 原文地址:https://www.cnblogs.com/pangsong/p/12256208.html
Copyright © 2011-2022 走看看