感谢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
开始打靶
标题是post注入的话,那先找找是哪个post请求把。这个很简单,直接锁定搜索框,F12打开看下请求内容
观察
让我们多搜索一些字段看看,就限制在页面上能看到的字段吧
搜索Game 页面无变化
搜索Sony 页面无变化
搜索2018 页面无变化
这时候我们就猜是不是搜索到了结果但是不显示,这样的话就需要特殊字符来让页面产生变化,比如报错页面之类的
搜索右括号) 页面无变化
搜索双引号" 页面无变化
搜索单引号’ 出现报错页面
寻找注入点
根据上面的观察可以得知,搜索什么都不会显示结果,那么
1、order by + union 获取信息这条路也行不通,因为不会显示结果
2、布尔注入也不行,因为页面不会变化
3、延时注入可行,可通过页面打开时间来判断
接下来就让我们先试试sleep()能否行得通吧,注意:这里是post请求,所以#不必转成%23,会自动转的
搜索’ and sleep(3) #让页面等待3秒,但是结果是秒开?为什么?
搜索’ and sleep(30) # 秒开
搜索’ and sleep(3000) # 秒开
为什么呢?回忆下sql语句后面是WHERE content=’’,不会这个查询条件一条数据都没查到吧?如果是这样的话,那么就不能用and得用or
搜索’ or sleep(3) # 延时打开成功!这可真是个小坑- -。。
这样就找到了注入点
比如操作系统名
’ or sleep(if(“Win32”=@@version_compile_os,0,3)) #
比如用户名长度
’ or sleep(if(length(user())<15,0,3)) #
2019/5/17:增加查询Flag
这个太麻烦了,有毅力的读者请参照第一关的思路来弄吧,弄的时候需要注意flag值可能在其他表、其他库。