zoukankan      html  css  js  c++  java
  • i春秋 web SQLi

    SQLi

    首先看到一个空白页面查看源码之后给出了一个注入点,但是怎么都没有反应。假的!!!

    然后百度之后才知道题目给出的链接和访问进去的链接是不一样的,进行了302重定向,在进去题目的时候就跳转了

    然后抓包,发现了

     

     请求和响应的链接竟然有一丝丝不同,我也是跪了!!!发现响应头中的链接把l换成了1,然后访问正确的链接,是空白的

    在响应头中发现页面中有注入点,非常的细致,

     然后访问l0gin.php?id=1,出现了表单,进行注入,先进行基础的注入,order by语句查看

     发现在第3的时候id下面出现了id后面输入的内容,这里应该就可以注入啦,基于时间或布尔的盲注

     发现输入内容的逗号后面的部分都被过滤了,然后百度绕过逗号的方法,用join语句代替逗号

     

     

     绕过成功了,然后继续查询,表名-1‘ select * from(select table_name from information_schema.tables where table_schema='sqli') a join (select version()) b %23

    查字段名 -1‘ select * from(select column_name from information_schema.columns where table_schema='sqli' and table_name = 'users') a join (select version()) b %23

    只出现了id一个,用group_concat将所有的列出来

     查询字段

    总结:

    重定向一般发生在访问域名而且不加参数或者文件夹名,文件名这样的情况下

    sql注入也要留意HTTP信息的变化

    可以利用SQL map跑一下看看有没有有用的信息

    不使用单引号和逗号的注入的注入技巧(join语句代替)

    1.substr()函数

    substr(string,start,length)

    string(必需)规定要返回其中一部分的字符串。

    start(必需)规定在字符串的何处开始。

    length(可选)规定被返回字符串的长度。

    2、join语句绕过拦截逗号

  • 相关阅读:
    c# Queue实现生产者(Producer)消费者(Consumer)模式
    无法连接到已配置的web服务器
    2018年新年计划
    md5加密、Des加密对称可逆加密、RSA非对称可逆加密、https单边验证、银行U盾双边认证
    通过HTTP协议实时获取微信聊天记录
    c#委托与事件
    c#异步多线程
    详细解读PHP时区修改正确方法
    Mysql分库分表方案
    关于Windows下安装mongodb和加入Windows系统启动项
  • 原文地址:https://www.cnblogs.com/qie-date/p/12497737.html
Copyright © 2011-2022 走看看