[Day26]- 新手的Web系列CRLF 0x1

Day26- 新手的Web系列CRLF 0x1

正文

  • CRLF(CRLF Injection Attack)
  • 中文叫做:CRLF 注入攻击
  • 也称作 HTTP Response Splitting
  • 中文叫做:HTTP回应拆分
  • 是指使用者可以任意的添加资讯到http封包中,然後再将自订的http封包传回使用者的浏览器中

HTTP Header

  • 要了解CRLF就要先知道HTTP Header在干嘛
  • (Hyper Text Transfer Protocol) 简称 HTTP
  • 中文叫做:超文本传输协定
  • HTTP 为目前网页传输的通用协定
  • HTTP协定采用请求与回应的模型,当浏览器或其他使用者端发送请求,服务器会给予回应

  • HTTP Header 分为 HTTP Request 和 HTTP Response 两个部分

    • HTTP Request 使用者端向服务器请求的资讯

    • HTTP Response 服务器回应使用者端的资讯

  • 想看 HTTP Request 和 HTTP Response 的资讯可以用google开发人员工具去看:

    • 开发人员工具 -> Network -> name底下点一个想看的 -> Headers底下滑就会有了
  • 常见的 HTTP 请求标头

    • Host:请求网域名称
    • User-Agent:使用者的浏览器版本和型号
    • Accept:可以接受的内容类型
    • Accept-Language:可以接受的语言
    • Accept-Encoding:可以接受的压缩档类型
    • Accept-Charset:可以接受的内容编码
    • Cookie:使用者端的cookie
    • If-Modified-Since:使用者缓存的最後修改时间
    • If-None-Match:使用者快取档案的标示符号
  • 常见的 HTTP 回应标头

    • Server:服务器名称
    • Vary:告诉下游的代理服务器对未来的请求协定头该如何匹配,例如缓存回应或是从原始服务器请求新内容
    • Date:原始服务器发出消息的时间
    • Last-Modified:请求资源的最後修改时间
    • Location:用来进行重新导向,或者在建立了某个新资源时使用
    • Content-Encoding:服务器支援的回传内容压缩档类型
    • Content-Type:回传内容的MIME类型
      • MIME:多用途网际网路邮件扩展,是一个网际网路标准,它扩展了电子邮件标准,还支持:
        • 非ASCII字符文本
        • 包含非ASCII字符的头信息
        • 由多部分 multiple parts 组成的消息体
        • 非文本格式附件,例如:二进位、声音、图像...等
    • Content-Length:回应的长度
    • Content-Language:回应的语言

<<:  Day28 -- Click and Drag

>>:  Day 28 铁人赛章节回顾

建立第一个单元测试(golang)-2(Day21)

接下来就是我要将测试放入现在正在进行的api中了 在这次的测试中,我想测试mRequest.Get(...

【PHP Telegram Bot】Day11 - Webhook 与 Web Hosting

网站服务器 网路上有很多的免费服务器(Free Hosting) 几乎每个都有支援 PHP 我就拿 ...

Day 04 - 导入 TypeScript

如果有错误,欢迎留言指教~ Q_Q 为什麽需要 TypeScript? 是一种强型别的语言,可以主...

[Day26] Grid 网格项目

当了解完网格容器的属性後,接下来要进入网格项目的部分,如果你还不了解什麽是网格容器及网格环境,可以回...

[职涯]留任还是离职?看完这篇後再做决定!

钱,没给到位;心,委屈了。 ── 马云 在这个快速变迁的世代,绝大多数人都不可能在一间公司终老;但...