Burpsuite HTTP_Methods 头注入

通常服务端只接受客户端的GET和POST请求,正因为HTTP协议是无状态的还有其他请求方式,在HTTP/1.0的时候,全部请求方式为:GET,HEAD,POST,PUT,DELETE,OPTIONS,TRACE,PATCH,MOVE,COPY,CONNECT,LINK,UNLINK,WRAPPED等。如果开了PUT方法可以导致任意写入文件,如果开了DELETE则会造成遍历删除文件,很多开发环境发现此问题后,在一些环境配置中默认禁用了PUT,DELETE等一些危险的请求方法。

首先说下漏洞的测试,在Burpsuite中的Repeater中添加域名ip和端口号.

在Request中写入OPTIONS / HTTP/1.1,执行后返回:
HTTP/1.1 400 Bad Request
Date: Wed, 24 Feb 2016 12:47:40 GMT
Server: Apache/2
Content-Length: 287
Connection: close
Content-Type: text/html; charset=iso-8859-1

OPTIONS请求正常则应该返回支持的请求方法,而这里确没有返回,再试试HTTP/1.0协议版本

在Request中写入OPTIONS / HTTP/1.0,执行后返回:
HTTP/1.1 200 OK
Date: Wed, 24 Feb 2016 12:31:36 GMT
Server: Apache/2
Allow: GET,HEAD,POST,OPTIONS
Vary: Accept-Encoding,User-Agent
Content-Length: 0
Connection: close
Content-Type: text/html

可以看到正常返回了支持的请求方法。
测试过在win系列和Linux系列都可以正常返回,这样可以用Python写一个脚本从百度爬url,实现自动拿shell,不过此问题大多数环境部署默认都解决了,只有一些老环境版本会存在HTTP头注入漏洞。
使用方法如下:
PUT /hack.txt HTTP/1.0
my name is 0535code.com!

 

Fortify SCA 白盒源代码审计初体验

Fortify SCA价格昂贵,网上甚至找不到安装包,分享一个安装包和安装说明,下载地址:
链接:http://pan.baidu.com/s/1O4szG 密码:sikm

1.Fortify?SCA的安装文件
2.Fortify?license(即安装授权文件)
3.Fortify的规则库文件(可在线下载最新的规则库)

主要包括这3个文件,先安装,安装完后进去安装目录覆盖fortify.license授权文件,其次需要去覆盖下规则库,在安装目录下的Core/Config里面,默认安装里面的规则库为空的,有新的规则库也可以放进去。
点Audit?Workbench启动Fortify SCA,另外这个版本是200802之前的,要把系统时间修改下才可以运行。而且导出的时间配置也是旧的,获取的当前的系统时间,安装后要修改一番,才能正常使用。扫了一个项目,发现不是很理想。期望后面一些项目的新问题可以扫出来。
针对漏洞审计工具还有别的,之前想写漏洞审计工具,也对漏洞审计的一些规则研究了一番,是需要积累很多规则库,而且并不是对所有项目都适用,比如有 些项目都是发接口增删改差的,这样就不是直接自己写的sql语句处理了,审计工具审计到的好多都会误报。漏洞审计工具收集了那么多规则已经不易了,漏洞审 计工具主要是分析漏洞报告,工具的用法很简单,代码审计就不是点几下了。有一门语言基础后,英语再好点,不好就下载个有道词典,看源代码审计报告还是不难 的。
php的白盒审计工具觉得Seay PHP代码审计工具不错,而Fortify SCA 支持大部分语言的代码审计,看Fortify SCA 的介绍,是运行后编译为中间代码去审计的,Seay PHP是根据规则库是匹配的,是一个纯静态审计工具,Fortify SCA 不晓得单不单纯,后面研究研究,本来想也是搞一个纯静态代码审计工具,目前国内还没发现这类工具,一些知名安全公司到是有安全基线工具,不过只有他们内部才能使用,只见过他们的报告。

 

伪基站程序研究

过年回去,朋友有一套伪基站设备,模拟信号发短信的说发不了短信了,需要重装系统,看了下系统是Ubuntu的,看起来像个客户端发短信,仔细看了下其实是一个web端,用shell调用了谷歌浏览器显示的web界面,看起来真的和客户端是一样的。
shell的路径是/var/usr/gsms.sh, /var/usr/目录下有index.php和set.php其中还有两个项目都是Thinkphp做的,在虚拟机搭建了一个,存在一些小问题,没有进一步研究。喝多了。。。不写了,88。
喝多了,睡不着,继续看看。gsms.sh的内容为 chromium-browser –app=http://localhost/,谷歌浏览器调用的本地回环路径访问的。 名称:GSMS 无线电信号爱好者测试软件,/var/usr/目录下的index.php和set.php调用Thinkphp项目的方法。其中gunradio目录为Thinkphp框架文件,2010年的版本了,openbts为项目路径,Config/config.php配置好数据库文件为:

return array(
‘DB_TYPE’=>’mysql’,
‘DB_HOST’=>’127.0.0.1’,
‘DB_NAME’=>’gsms’,
‘DB_USER’=>’root’,
‘DB_PWD’=>’nb250+38’,
‘DB_PORT’=>’3306’,
‘DB_PREFIX’=>’gsm_’,
‘DB_FIELDS_CACHE’=>false,
‘URL_MODEL’=>0
);
看了下类库中的方法与系统交互性很强,而且返回值还进行了base64_decode加解密,喝多了不研究了,找找茂茂大神咨询下。