CRLF Injection (CRLF注入)
目录
漏洞简介
形成原理
PHP
Java
影响范围
利用方式
修复方案
web安全学习了解: web渗透测试
官网: 宣紫科技
漏洞简介
CRLF是”回车 + 换行”(\r\n)的简称。在HTTP协议中,HTTP Header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP 内容并显示出来。所以,一旦能够控制HTTP 消息头中的字符,注入一些恶意的换行,这样就能注入一些会话Cookie或者HTML代码,所以CRLF Injection又叫HTTP Response Splitting,简称HRS。HRS是比XSS危害更大的安全问题。
形成原理
在HTTP协议中,HTTP头是通过”\r\n”来分隔的。因此如果服务端没有过滤”\r\n”,而又把用户输入的数据放在HTTP头中,则有可能导致安全隐患。
PHP
<?phpheader('Location : test' . $user_data);...
Java
String author = request.getParameter(AUTHOR_PARAM);
...
Cookie cookie = new Cookie("author", author);
cookie.setMaxAge(cookieExpiration);
response.addCookie(cookie);
影响范围
- CRLF常被用做不同语义之间的分隔符。因此通过”注入CRLF字符”,就有可能改变原有的语义,达到误导用户的目的。
利用方式
这个例子通过CRLF注入完成了一次XSS攻击。在参数中插入CRLF字符:
<form id="x" action="http://login.u51.com/login.do?email=a%0d%0a%0d%0a<script>alert(/xss/);</script>" method="post">
<input name="password" value="testtest">
...
</form>
服务端返回:
HTTP/1.1 200 OK
Server: nginx
Set-Cookie: _de=a<script>alert(/xss/);</script>; domain=.u51.com; expires=Thu, 10-Dec-2017 GMT
...
注意到服务器返回时,在Set-Cookie的值里插入了两次”\r\n”换行符。而两次”\r\n”意味着HTTP头的结束,在两次CRLF之后跟着的是HTTP Body。攻击者在两次CRLF之后构造了恶意的HTML脚本,从而得以执行,XSS攻击成功。
修复方案
- 过滤”%0d%0a”;
- 对需要set到HTTP响应头的输入、输出进行URL-encode处理。
CRLF Injection (CRLF注入)相关推荐
- JAVA防止CRLF攻击_CRLF攻击的一篇科普:新浪某站CRLF Injection导致的安全问题(转)...
CRLF Injection很少遇见,这次被我逮住了.我看zone中(http://zone.wooyun.org/content/13323)还有一些同学对于这个漏洞不甚了解,甚至分不清它与CSRF ...
- reflective dll injection 反射注入
一.reflective dll injection 反射注入介绍 网上对反射注入的定义是只通过内存把DLL注入到特定进程中,也就是说整个过程都不涉及文件操作. 优点 规避杀软基于文件系统的检测 不会 ...
- java injection,依赖注入(dependency injection)
//@EJB (mappedName="HelloWorldBean/remote") HelloWorld helloworld; -.. @EJB注释如果被用在JavaBean ...
- Command Injection命令注入攻击
实验目的与要求 1.了解命令注入攻击攻击带来的危险性. 2.掌握命令注入攻击攻击的原理与方法 3.掌握防范攻击的方法 预备知识 在PHP中您可以使用下列5个函数来执行外部的应用程序或函数. (1) s ...
- Sql Injection脚本注入终极利用方法
本文仅用于教学目的,如果因为本文造成的***后果本人概不负责.因为 发觉其危害过大,原文已经经过大量删减及修改,即使这样本文的危害性仍然很大,所以请大家不要对国内的站点做任何具有破坏性的操作. 考虑再 ...
- WEB漏洞分类与定义指南
WEB漏洞分类与定义指南 web vulnerability classification and definition guideline 前 言 本标准按照 本标准按照 GB/T1.1GB/T1. ...
- Web安全-HTTP响应拆分(CRLF注入)漏洞
文章目录 漏洞简介 漏洞利用 会话固定 XSS攻击 实战案例 挖掘技巧 漏洞防御 漏洞简介 CRLF 是 CR 和 LF 两个字符的拼接,它们分别代表 "回车+换行"(\r\n), ...
- 一道题学习node.js中的CRLF注入
前言 这几天刷题遇到在node.js题目中注入CRLF实现ssrf的题目,对于我来说知识听新颖.在此记录一下. CRLF注入 学习过http请求走私漏洞的师傅对于这个CRLF肯定不会陌生.所谓的CRL ...
- 细看CRLF注入***的原理和其防范措施
细看crlf注入***的原理和其防范措施 ------------------------------------------------------------------------------- ...
最新文章
- TCP/IP(四) —— TCP可靠传输的实现
- c++通讯录控制台小程序
- 业务工作流平台设计(九)
- 国际色卡c色号查询_怎幺提取图片中的潘通色卡?图片找色卡
- android8 静音震动,iPhone8开启静音后手机振动怎么办?苹果8关闭静音模式震动的两种方法...
- z490 linux raid,华硕z490主板装win7系统及bios设置教程(支持10代usb驱动)
- 使用Microsoft Media Service实现网络影音多媒体应用系列第三篇---技术要点
- java上传csv错误信息_java处理csv文件上传示例详解
- C语言解力扣461.汉明距离
- Visual Studio 2005 中的新增安全性功能
- field list什么意思_Redis:我这21个灵魂拷问你拿什么挡?
- ucGUI移植到ARM
- 过程能力分析01—不要忽略“稳定”
- C语言实现蔡勒公式求周几
- asp.net单点登录
- 基于DRL的城市TSC 综述笔记(一)
- Multipart/form-data文件上传简介
- 【网易】网易2018实习生招聘笔试题-测试开发实习生
- Linksys玩多了,来看看真正的Cisco~技术帖
- 抖音创作者信用分:如何提升信用等级,获取更多机会