目录

漏洞简介

形成原理

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攻击成功。

修复方案

  1. 过滤”%0d%0a”;
  2. 对需要set到HTTP响应头的输入、输出进行URL-encode处理。

CRLF Injection (CRLF注入)相关推荐

  1. JAVA防止CRLF攻击_CRLF攻击的一篇科普:新浪某站CRLF Injection导致的安全问题(转)...

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

  2. reflective dll injection 反射注入

    一.reflective dll injection 反射注入介绍 网上对反射注入的定义是只通过内存把DLL注入到特定进程中,也就是说整个过程都不涉及文件操作. 优点 规避杀软基于文件系统的检测 不会 ...

  3. java injection,依赖注入(dependency injection)

    //@EJB (mappedName="HelloWorldBean/remote") HelloWorld helloworld; -.. @EJB注释如果被用在JavaBean ...

  4. Command Injection命令注入攻击

    实验目的与要求 1.了解命令注入攻击攻击带来的危险性. 2.掌握命令注入攻击攻击的原理与方法 3.掌握防范攻击的方法 预备知识 在PHP中您可以使用下列5个函数来执行外部的应用程序或函数. (1) s ...

  5. Sql Injection脚本注入终极利用方法

    本文仅用于教学目的,如果因为本文造成的***后果本人概不负责.因为 发觉其危害过大,原文已经经过大量删减及修改,即使这样本文的危害性仍然很大,所以请大家不要对国内的站点做任何具有破坏性的操作. 考虑再 ...

  6. WEB漏洞分类与定义指南

    WEB漏洞分类与定义指南 web vulnerability classification and definition guideline 前 言 本标准按照 本标准按照 GB/T1.1GB/T1. ...

  7. Web安全-HTTP响应拆分(CRLF注入)漏洞

    文章目录 漏洞简介 漏洞利用 会话固定 XSS攻击 实战案例 挖掘技巧 漏洞防御 漏洞简介 CRLF 是 CR 和 LF 两个字符的拼接,它们分别代表 "回车+换行"(\r\n), ...

  8. 一道题学习node.js中的CRLF注入

    前言 这几天刷题遇到在node.js题目中注入CRLF实现ssrf的题目,对于我来说知识听新颖.在此记录一下. CRLF注入 学习过http请求走私漏洞的师傅对于这个CRLF肯定不会陌生.所谓的CRL ...

  9. 细看CRLF注入***的原理和其防范措施

    细看crlf注入***的原理和其防范措施 ------------------------------------------------------------------------------- ...

最新文章

  1. TCP/IP(四) —— TCP可靠传输的实现
  2. c++通讯录控制台小程序
  3. 业务工作流平台设计(九)
  4. 国际色卡c色号查询_怎幺提取图片中的潘通色卡?图片找色卡
  5. android8 静音震动,iPhone8开启静音后手机振动怎么办?苹果8关闭静音模式震动的两种方法...
  6. z490 linux raid,华硕z490主板装win7系统及bios设置教程(支持10代usb驱动)
  7. 使用Microsoft Media Service实现网络影音多媒体应用系列第三篇---技术要点
  8. java上传csv错误信息_java处理csv文件上传示例详解
  9. C语言解力扣461.汉明距离
  10. Visual Studio 2005 中的新增安全性功能
  11. field list什么意思_Redis:我这21个灵魂拷问你拿什么挡?
  12. ucGUI移植到ARM
  13. 过程能力分析01—不要忽略“稳定”
  14. C语言实现蔡勒公式求周几
  15. asp.net单点登录
  16. 基于DRL的城市TSC 综述笔记(一)
  17. Multipart/form-data文件上传简介
  18. 【网易】网易2018实习生招聘笔试题-测试开发实习生
  19. Linksys玩多了,来看看真正的Cisco~技术帖
  20. 抖音创作者信用分:如何提升信用等级,获取更多机会

热门文章

  1. AXI 基础第 1 讲 - AXI 简介
  2. 【Linux】死锁的产生
  3. TextOut 与DrawText
  4. 成功解决:‘mysqld‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  5. 省选模拟赛(正睿的最后一场)
  6. 病狗问题 (逻辑推理)
  7. 华为鸿蒙设备开发实战2天笔记
  8. 8puzzle java 代码_八数码难题(8 puzzle)深度优先和深度优先算法
  9. D - 8 Puzzle on Graph题解
  10. 半导体后道封测软件架构