• webgote的例子(3)Sql注入(SearchPOST)


    Sql注入(Search/POST

    (本章内容)post的方式进行注入

    今天来讲一下sql注入的另一个例子(post) 上一个用的是get请求的方法将我们的参数传到服务器进行执行

     

    上图中的标红是需要注意的地方。我们查询的参数都是可以通过url进行传递的title=什么就代表我们查什么。

     

    然而post这个例子中设计者改变了这种方法选择了另外的提交方式。这时候我们在url中注入的方法就不好用了。如下图

    这个时候我们就应该考虑一下传参的位置是不是改变换一下了。这个时候我们就需要对这个数据包进行一下分析。既然URL里面没有那我们查查别的地方

     

     

     

    抓包改包的工具很多的我用的是burp这个工具

    首先在我们的浏览器上设置代理指向我们的burp下图burp是我本地机器所以我指的是127.0.0.1

    上图是我截取的数据包 我们对这个包进行检查,关键的地方我已经标出,首先这个请求的方法是post 其次后面的路径里没有参数,这里面的参数被转移到了包体里面了(最后的红方框框)。

    这时候我们就比较清晰了,我们注入的地方被转移到了这里,换句话说只要我们只要在这里将这个注入的语句进行替换和它的要求一样同样也可以达到上一章的操作。

    为了方便操作我们将包体里面的东西记下来。并且我们以post的方式进行提交

     

    我们用hackbar这个工具可以直观的进行注入 如上图我们把title这个字段输入了我想查询的电影,服务器有显示结果这表明post的数据是有效的。

     

    既然我们在post里面添加的有效我们不妨在输入一个点试试(如上图)

    结果服务器回复sql语句错误,这就造成了上一篇的错误。

     

    这回再添加一个%23#=%23 注释的作用等同于--+ )我们发现页面又恢复了正常页面。这说明sql是有效的。

     

    UNION SELECT 1,2,3,4,5,6,7 查找显示位(上一章讲过) 2345的显示位又出来了 随便找一个显示位进行注入,后面的手法就不再赘述了。

    证明一下可以sql操作 select user() 用户就在上图中显示出来了。

    这就是post注入的方法。传参的地方变了多了一步抓包分析的步骤。但原理和之前的一样大同小异。

     

     

     

  • 相关阅读:
    python面试的100题(2)
    面试题目和地址
    python面试的100题(1)
    no module named系列问题解决
    ubuntu16.04无法打开终端
    Reinforcement Learning,微信公众号:DRL学习
    Java中的I/O操作File
    Java中的Date时间转换【SimpleDateFormat (parse和format)】和Calendar日历表
    重写equals方法
    Java中栈,堆,常量池的简单理解
  • 原文地址:https://www.cnblogs.com/shiguangliangchunshanbo/p/8643590.html
Copyright © 2020-2023  润新知