精华内容
下载资源
问答
  • CRLF

    2019-05-02 15:40:00
    https://baike.baidu.com/item/CRLF 转载于:https://www.cnblogs.com/huerxiong/p/10802472.html

    https://baike.baidu.com/item/CRLF

    转载于:https://www.cnblogs.com/huerxiong/p/10802472.html

    展开全文
  • crlf

    2016-12-22 20:04:55
    CRLF -- Carriage-Return Line-Feed 回车换行 一、CRLF的意思 就是回车(CR, ASCII 13, \r) 换行(LF, ASCII 10, \n)。 windows中CRLF \r\n linux中只有LF \n mac中只有CR \r 二、在...

    CRLF -- Carriage-Return Line-Feed 回车换行


    一、CRLF的意思

    就是回车(CR, ASCII 13, \r) 换行(LF, ASCII 10, \n)。
    windows中CRLF \r\n
    linux中只有LF \n
    mac中只有CR \r

    二、在Git中如何转换?

    在Git通过下面的命令配置

    $git config --global core.autocrlf true
    # Configure Git on Windows to properly handle line endings
    解释:core.autocrlf是git中负责处理line endings的变量,可以设置三个值--true,inout,false.

    设置成三个值会有什么效果呢?

    If core.autocrlf is set to true, that means that any time you add a file to the git repo that git thinks is a text file, it will turn all CRLF line endings to just LF before it stores it in the commit.。

    设置为true,添加文件到git仓库时,git将其视为文本文件。他将把crlf变成lf。【2】

    If core.autocrlf is set to false, no line-ending conversion is ever performed, so text files are checked in as-is. This usually works ok。【2】

    设置为false时,line-endings将不做转换操作。文本文件保持原来的样子。

    设置为input时,添加文件git仓库石,git把crlf编程lf。当有人Check代码时还是lf方式。因此在window操作系统下,不要使用这个设置。 

    这是参考文献2给的解释希望能帮助大家。 

    Yet another way to show how autocrlf works

    1) true:             x -> LF -> CRLF
    2) input:            x -> LF -> LF
    3) false:            x -> x -> x
    

    where x is either CRLF (windows-style) or LF (unix-style) and arrows stand for

    file to commit -> repository -> checked out file



    展开全文
  • CRLF注射载荷 BB报告的有效负载用于CRLF注入
  • Remove CRLF

    2020-12-26 12:00:12
    <div><p>Hi, <p>As we commit vendor, the CRLF breaks our dependencies validation system.</p><p>该提问来源于开源项目:microsoft/go-winio</p></div>
  • CRLF Injection (CRLF注入)

    2021-06-20 14:25:56
    CRLF是”回车 + 换行”(\r\n)的简称。在HTTP协议中,HTTP Header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP 内容并显示出来。所以,一旦能够控制HTTP 消息头中的字符,注入一些恶意的...

     

    目录

    漏洞简介

    形成原理

    PHP

    Java

    影响范围

    利用方式

    修复方案


    漏洞简介

    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

    <?php
        header('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注入

    2021-02-12 20:59:38
    CRLFInjection很少遇见,这次被我逮住了。我看zone中(http://zone.wooyun.org/content/13323)还有一些同学对于这个漏洞不甚了解,甚至分不清它与CSRF,我详细说一下吧。 CRLF是”回车+换行”(\r\n)的简称。在...

    0x00 背景


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

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

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

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

    0x01 实例


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

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

    HTTP/1.1 302 Moved Temporarily 
    Date: Fri, 27 Jun 2014 17:52:17 GMT 
    Content-Type: text/html 
    Content-Length: 154 
    Connection: close 
    Location: http://www.sina.com.cn
    

    但如果我们输入的是

    http://www.sina.com.cn%0aSet-cookie:JSPSESSID%3Dwooyun
    

    注入了一个换行,此时的返回包就会变成这样: 

    HTTP/1.1 302 Moved Temporarily 
    Date: Fri, 27 Jun 2014 17:52:17 GMT 
    Content-Type: text/html 
    Content-Length: 154 
    Connection: close 
    Location: http://www.sina.com.cn 
    Set-cookie: JSPSESSID=wooyun
    

    这个时候这样我们就给访问者设置了一个SESSION,造成一个“会话固定漏洞”。

    当然,HRS并不仅限于会话固定,通过注入两个CRLF就能造成一个无视浏览器Filter的反射型XSS。

    比如一个网站接受url参数http://test.sina.com.cn/?url=xxx,xxx放在Location后面作为一个跳转。如果我们输入的是

    http://test.sina.com.cn/?url=%0d%0a%0d%0a<img src=1 onerror=alert(/xss/)>
    

    我们的返回包就会变成这样:

    HTTP/1.1 302 Moved Temporarily 
    Date: Fri, 27 Jun 2014 17:52:17 GMT 
    Content-Type: text/html 
    Content-Length: 154 
    Connection: close 
    Location:
    <img src=1 onerror=alert(/xss/)>
    

    之前说了浏览器会根据第一个CRLF把HTTP包分成头和体,然后将体显示出来。于是我们这里这个标签就会显示出来,造成一个XSS。

    为什么说是无视浏览器filter的,这里涉及到另一个问题。

    浏览器的Filter是浏览器应对一些反射型XSS做的保护策略,当url中含有XSS相关特征的时候就会过滤掉不显示在页面中,所以不能触发XSS。

    怎样才能关掉filter?一般来说用户这边是不行的,只有数据包中http头含有X-XSS-Protection并且值为0的时候,浏览器才不会开启filter。

    说到这里应该就很清楚了,HRS不正是注入HTTP头的一个漏洞吗,我们可以将X-XSS-Protection:0注入到数据包中,再用两个CRLF来注入XSS代码,这样就成功地绕过了浏览器filter,并且执行我们的反射型XSS。

    所以说HRS的危害大于XSS,因为它能绕过一般XSS所绕不过的filter,并能产生会话固定漏洞。


    我们来一个真实案例吧。 新浪某分站含有一个url跳转漏洞,危害并不大,于是我就想到了CRLF Injection,当我测试

    http://xxx.sina.com.cn/?url=%0a%0d%0a%0d%3Cimg%20src=1%3E
    

    的时候,发现图片已经输出在页面中了,说明CRLF注入成功了:

    2014062816583715642.jpg

    那么我们试试XSS看看:

    2014062816585822978.jpg

    看控制台,果然被XSS Filter拦截了。

    那么我们就注入一个

    X-XSS-Protection:0
    

    到数据包中,看看什么效果:

    2014062816593849016.jpg

    @mramydnei 还想到了一个利用字符编码来绕过XSS Filter的方法,当编码是is-2022-kr时浏览器会忽略%0f,这样我们在onerror后面加个%0f就能绕过filter,前提是注入一个

    <meta charset=ISO-2022-KR> 
    

    2014062817010832293.jpg

    当然,在Location:这里注入只有webkit内核浏览器才能够利用,其他浏览器可能会跳转、出错。不过对于chrome的使用量来说,危害已经足够了。

    0x02 修复


    如何修复HRS漏洞,当然是过滤\r 、\n之类的换行符,避免输入的数据污染到其他HTTP头。

    展开全文
  • CRLF fix

    2020-12-26 07:50:50
    <div><p>This PR fixes the CRLF problem by superseding commit 03a06aac4a8df079de893371ba46074b1adbf630, adding a build step in manifest_pom and pom_pom verifying for wrong files (uses the maven-...
  • 一致的表示语言框架(crlf) 使用JSON编码来传达特定于语言的抽象语法树。 可能的用途包括: 打包代码以供远程执行 语言工具链的中间格式 将语言片段嵌入另一种语言中 { "lang" : < language> , "ast": } ...
  • CRLF注入

    2020-07-06 19:43:32
    CRLF时“回车+换行”(\r\n)的简称。 HTTP Header与HTTP Body时用两个CRLF分隔的,浏览器根据两个CRLF来取出HTTP内容并显示出来。 通过控制HTTP消息头中的字符,注入一些恶意的换行,就能注入一些会话cookie或者...
  • Question for CRLF

    2020-12-26 02:10:25
    m curious about CRLF and character type. If i want to migrate A To B, am i must worry about CRLF Problem?? (A : <strong>Windows Server,</strong> character type is SJIS(japanese)) (B+ <strong>Linux...
  • CRLF介绍

    千次阅读 2015-08-18 10:52:50
    CRLF -- Carriage-Return Line-Feed 回车换行 1简介 ▪ CRLF的意思 ▪ CRLF命令 ▪ CRLF注入 2实际应用 ▪ CRLF的含义 ▪ CRLF攻击 ▪ 避免攻击的方法 简介编辑 CRLF的意思 就是回车(CR, ASCII 13,...
  • ESLint CRLF Windows

    2021-01-10 07:07:43
    <p>Expected linebreaks to be LF but found CRLF. linebreak-style <p>This is even on the <code>next</code> branch without any changes. <p>I know windows is a sucky OS, but git converts the CRLF back to...
  • CRLF和LF

    万次阅读 2014-04-22 16:43:38
    什么是CRLF和LF为什么要探究CRLF和LF三种方式处理的不同更多参考文献 1、什么是CRLF和LF CRLF 是carriage return line feed的缩写。中文意思是回车换行。 LF是line feed的缩写,中文意思是换行。 2、为什么要探究...
  • CRLF 到 LF CLI 将 CRLF (M$ Win) 转换为 LF (Unix / Linux)。 安装 $ [sudo] npm install -g crlf2lf 用法 $ crlf2lf -h Usage: crlf2lf < DIR> [options] DIR the directory to be CRLF2LFed. Options: -r, --...
  • Unexpected CRLF correction

    2020-11-29 12:15:04
    <div><p>I have textfile in UTF8 where there are CR and CRLF. I say "not" when NP3 asks to normalize it where opening. OK yet. Then I need to change the codepage. Doubleclick on "Unicode ...
  • CRLF注入漏洞

    2021-03-18 15:35:08
    原理 CRLF是“回车+换行”(\r\n)的简称,在HTTP协议中,HTTP Header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个...相比于XSS来说,CRLF的危害更大。对于HRS最简单的利用方式就是注入两个\r\n,之后再写入X
  • LF CRLF

    2016-10-14 15:16:00
    在git提交的时候 有时候会提示... LF will be replaced by CRLF这是因为window的结束符是:回车和换行 crlfmac和linux的结束符是 lf, 于是当代码在这两个系统间切换的时候, LF 和 CRLF 会互换。 这个是可以设置的 ...
  • No CRLF support

    2020-12-08 21:37:27
    <div><p>When I commit on my windows machine, git replaces LF with CRLF in my tiny file. After that Tiny is no longer able to get my data out of the database,</p><p>该提问来源于开源项目:chjj/...
  • - The checked in file in the repository actually contains CRLF line endings <em>and - The repository has <code>core.autocrlf=true</code></p> <p>then GitDiffMargin will show the entire file as a ...
  • Fix CRLF issue

    2020-12-28 04:45:18
    CRLF) in repository (eg: "ElectronicObserver\Window\Dialog\DialogConfiguration.Designer.cs") causing problem while editing them with an editor that normalize line ending. This commit will ...
  • CRLF注入原理

    2020-12-02 20:45:57
    CRLF注入原理 CRLF 指的是回车符(CR,ASCII 13,\r,%0d) 和换行符(LF,ASCII 10,\n,%0a),操作系统就是根据这个标识来进行换行的,你在键盘输入回车键就是输出这个字符,只不过win和linux系统采用的标识不一样...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,393
精华内容 1,757
关键字:

crlf