CRLF Injection漏洞的利用与实例分析

0x00 背景

CRLFInjection很少遇见,这次被我逮住了。我看zone中(http://zone.wooyun.org/content/13323)还有一些同学对于这个漏洞不甚了解,甚至分不清它与CSRF,我详细说一下吧。

CRLF是”回车+换行”(\r\n)的简称。在HTTP协议中,HTTPHeader与HTTPBody是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP内容并显示出来。所以,一旦我们能够控制HTTP消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码,所以CRLFInjection又叫HTTPResponseSplitting,简称HRS。

HRS是比XSS危害更大的安全问题,具体是为什么,我们往下看。

对于HRS最简单的利用方式是注入两个\r\n,之后在写入XSS代码,来构造一个xss。

0x01 实例

举个例子,一般网站会在HTTP头中用Location:http://baidu.com这种方式来进行302跳转,所以我们能控制的内容就是Location:后面的XXX某个网址。

所以一个正常的302跳转包是这样:

.user.ini文件构成的PHP后门

0x00 背景

这个估计很多同学看了不屑,认为是烂大街的东西了:

.htaccess文件构成的PHP后门

那么我来个新的吧:.user.ini。它比.htaccess用的更广,不管是nginx/apache/IIS,只要是以fastcgi运行的php都可以用这个方法。我的nginx服务器全部是fpm/fastcgi,我的IIS php5.3以上的全部用的fastcgi/cgi,我win下的apache上也用的fcgi,可谓很广,不像.htaccess有局限性。

0x01 .user.ini

那么什么是.user.ini?

自制分布式漏洞扫描工具

1.前言

在渗透测试和安全扫描工作中,发现越来越多站点部署了应用防护系统或异常流量监控系统,其中包括:WEB应用防火墙(软件WAF、硬件WAF、云WAF)、入侵检测系统、入侵防御系统、访问监控系统等。很多防护系统不仅可实时检测攻击和拦截,并且具备自动阻断功能。当系统检测到某些IP在特定时间段内产生大量攻击行为时会开启阻断功能,阻断该IP在一定时间内的任何访问。

常见应用防护系统和异常流量监控系统的阻断策略主要有以下几种:

- 单IP访问频率

- 单IP+URL访问频率

- 单IP+COOKIE特定时间段内攻击次数

- 单IP造成可疑或攻击行为频率

- 单IP特定时间段内触发HTTP404状态次数

- 识别扫描器暴力扫描行为(扫描器指纹)

2.  分布式漏洞扫描

2.1分布式漏洞扫描基本思路

解决:对 PInvoke 函数的调用导致堆栈不对称问题

在使用托管代码调用非托管代码时,发生“对PInvoke函数“UseTwiHikVisionDllTest!UseTwiHikVisionDllTest.TwiHikVision::GetFirstPic”的调用导致堆栈不对称。原因可能是托管的PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。”

解决方法:

添加属性: CallingConvention=CallingConvention.Cdecl

如:

[DllImport("AspriseOCR.dll", EntryPoint = "OCRpart", CallingConvention = CallingConvention.Cdecl)]
static extern IntPtr OCRpart(string file, int type, int startX, int startY, int width, int height);

我是如何黑掉英国间谍软件公司Gamma的

本文翻译自黑客自己公布的入侵指南。详细的介绍了从信息收集,到发现目标站点,以及进行源码审计,绕过waf注入,尝试提权服务器的整个过程。

0×00 开篇

我写这篇文章不是为了吹嘘自己有多牛逼,使用了多高深的技术去搞定Gamma。我只是想揭开黑客技术神秘的面纱,告诉人们黑客技术很普通,你也可以利用黑客技术去反抗这个世界上那些见不得人的事。如果你没有任何编程或者hacking的经验,那些下面的文章可能会看起来像天书一样。没有关系,文章最后的参考资料会帮助你慢慢开始。相信我,一旦你有了一些基础之后就会发现hacking这事比信息自由法案的申请简单多了。(filing a FOIA request)。

0×01保护自己

入侵是非法的,所以需要一些基本的措施来保护自己。

1,使用Truecrypt 7.1a制作一个隐藏的加密分区

2,在这个加密分区上安装Whonix系统

Kali忘记root密码

对于一些版本的OS(如redhat、centos)来说,编辑grub,在后面加上“single”即可进入单用户模式。

但是对于debian、ubuntu、kali来说,这种方式是无效的,因为kali进入单用户模式也需要您输入root用户的密码。下面介绍一个在任何版本linux的grub上均能够使用的方法:

1、在Grub的引导装载程式菜单上,选择您要进入的条目,键入 “e” 来进入编辑模式。

2、在第二行(类似于kernel /vmlinuz-2.6.15 ro root=/dev/hda2 ),键入”e”进入编辑模式;

3、在句末加上init=/bin/bash,回车;

4、按回车启动系统。这样我们即可获得一个bash的shell。 进入shell后,根分区的挂载模式默认是只读,我们要将其改为可写,否则不能更改root密码:

Kali Linux系列教程之OpenVas安装

本文转载,http://www.xuanhun521.com/Blog/2014/8/19/kali-linux%E7%B3%BB%E5%88%97%E6%95%99%E7%A8%8B%E4%B9%8Bopenvas%E5%AE%89%E8%A3%85

文 /玄魂

目录

Kali Linux系列教程之OpenVas安装

前言

1、服务器层组件

2、客户层组件

安装过程

Initial setup

初始管理员密码

从浏览器访问后台

更新数据

管理用户

扫描器配置信息查看

修复安装错误

创建证书

更新 NVT

客户端证书错误

前言

渗透中国钢铁商城

中国钢铁商城 在线交易平台 jboss更新不及时,导致任意文件上传
漏洞页面:
http://www.steel-mall.com//invoker/JMXInvokerServlet jboss漏洞
直接利用exp(下载地址: http://buchedan.org/download/jboss-exploit.zip)获得webshell,此过程略。
可以参考:  WooYun: 中国电信某站点JBOSS任意文件上传漏洞
对于web系统来说,最重要的不是服务器,而是数据库,因此找到数据库配置文件,获得数据库用户名和密码:

全方位绕过安全狗

一、前言

安全狗是一款大家熟悉的服务器安全加固产品,据称已经拥有50W的用户量。最近经过一些研究,发现安全狗的一些防护功能,例如SQL注入、文件上传、防webshell等都可以被绕过,下面为大家一一介绍。

二、测试环境

本次测试环境为

中文版Win2003 SP2+PHP 5.3.28+Mysql 5.1.72

网站安全狗IIS版3.2.08417

三、SQL注入绕过

我们先写一个存在SQL注入漏洞的php:

<?

$uid = $_REQUEST['id'];

if(!$conn = @mysql_connect("localhost", "root", "123456"))