zoukankan      html  css  js  c++  java
  • 随笔(随更新)

    HTTP响应头拆分

    • HTTP响应头拆分漏洞 是一种新型的web攻击方案,它从新产生了很多保险漏洞包括:web缓存沾染、用户信息涂改、窃取敏感用户页面、跨站脚本漏洞。这项攻击计划,包括其衍生的一系列技术产生,是因为web利用程序没有对用户的提交进行严格过滤,导致非法用户可以提交一些歹意字符,更具体来说,是对用户输入的CR 和LF字符不进行严厉的过滤。
      HTTP响应头拆分漏洞 及其相干的攻击手段可以在良多的web环境中实现,包含微软的asp、asp.net,IBM WebSphere,BEA WebLogic,Jakarta Tomcat,MacromediaoldFusion/MX,Sun MicrosystemsSunONE;风行的Squid和Apache服务器;流行的微软IE6.0阅读器。我不是在吹牛,许多大的站点都存在这样的破绽,这让我大吃一惊。
    • HTTP响应头拆分攻击实质是:攻击者可以发送一个或多少个HTTP指令迫使漏洞服务器发生一个攻击者构想好的输出。它可以让服务器误把几条HTTP请求看成一次实现的HTTP请求来说明。第一条请求也许攻击者局部把持着一部门,但这并不是危险的;危险的是,攻击者完整控制着第二条HTTP请求,即从HTTP状态行始终到HTTP请求的尾部。假如这样可行,攻击者就会发送多个请求指令到目标体系:第一条使得服务器完全接收两个HTTP响应,第二条响应通常是在服务器上请求一些非法资源,而服务器将会主动匹配到第二条响应,输出攻击者想要请求的资源,从而到达攻击者的目标。
    • 通过这个思路,我们可以构造出不拘一格的攻击,具体来说:

    1跨站脚本攻击XSS:这是一个无比一般和老式的漏洞,它可以让用户通过运行了一段javascript或者html代码后,可以截取该用户的cookie和session。但是到当初,通过一些重定向脚本发动一次XSS攻击是很难题的,尤其是当用户使用最新补丁的IE浏览器的时候,除非位置头是完全掌握的。但是当联合HTTP响应头攻击确是可以十分简略实现,即使只是部分控制地位头。

    2web缓存中毒咱们称之为web损耗:这是一个新的攻击技巧,攻击者逼迫服务器高速缓存中记载了第二次HTTP要求,而服务器中的高速缓存记载的第二次恳求是经由攻击者精心结构的。这将胜利的对目标站点进行损耗,当其余人拜访目的站点时,他们仅仅读取了高速缓存里的数据,造成站点被 黑 的假象。当然,除了站点损耗之外,攻击者也能够偷取用户的session跟cookie。

    3 通过对用户的攻击:这是第二种方式的一个特殊情形。它对单个用户的诱骗、对服务器单个页面的损耗,和临时的磨损,也可以偷取到特定用户的session和cookie。

    4 劫持详细用户的页面敏感信息:攻击者诈骗服务器,并获得敏感用户的权限,并进入其用户的状况,访问到一些机密信息。

    5 浏览器高速缓存中毒:这也是一项最新的攻击方式,它这和跨站脚本攻击方式有点类似,独一的差异就是攻击者强制浏览器高速缓存中记录一个长和连续的磨损的网页,直到浏览器的高速缓存已经干净。
    (http://blog.chinaunix.net/uid-28924615-id-4290926.html)[http响应头分割技术]

    http应答分割攻击

    https://blog.csdn.net/mgxcool/article/details/73028346

    WAF

    Web应用防护系统(也称:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品

    深入理解SQL注入绕过waf和过滤机制

    https://blog.csdn.net/whatday/article/details/61912578
    https://blog.csdn.net/ncafei/article/details/62044552

    宽字节注入

    宽字符是指两个字节宽度的编码技术,如UNICODE、GBK、BIG5等。当MYSQL数据库数据在处理和存储过程中,涉及到的字符集相关信息包括:
    (1) character_set_client:客户端发送过来的SQL语句编码,也就是PHP发送的SQL查询语句编码字符集。
    (2) character_set_connection:MySQL服务器接收客户端SQL查询语句后,在实施真正查询之前SQL查询语句编码字符集。
    (3) character_set_database:数据库缺省编码字符集。
    (4) character_set_filesystem:文件系统编码字符集。
    (5) character_set_results:SQL语句执行结果编码字符集。
    (6) character_set_server:服务器缺省编码字符集。
    (7) character_set_system:系统缺省编码字符集。
    (8) character_sets_dir:字符集存放目录,一般不要修改。

    宽字节对转义字符的影响发生在character_set_client=gbk的情况,也就是说,如果客户端发送的数据字符集是gbk,则可能会吃掉转义字符,从而导致转义失败
    从宽字节注入漏洞原理可以看出,宽字节注入的关键点有两个:
    (1) 设置宽字节字符集;
    (2) 设置的宽字符集可能吃掉转义符号“”(对应的编码为0x5c,即低位中包含正常的0x5c就行了)。
    理论上,符合第二条的字符集都可能导致宽字节注入漏洞,这里以gbk字符集为典型,介绍宽字符注入漏洞典型案例。
    宽字节注入漏洞的另一个关键是设置了character_set_client为宽字节字符集,这里有很多中设置的方式,主要包括隐式设置和显式设置。
    隐含方式设置是指charcter_set_client缺省字符集就是宽字节字符集。
    显式设置是指在PHP程序中调用相应的设置函数来实现字符集的设置或直接对字符串进行编码转换,设置的函数包括:
    (1) mysql_query,如mysql_query("SET NAMES 'gbk'", $conn)、mysql_query("setcharacter_set_client = gbk", $conn)。
    (2) mysql_set_charset,如mysql_set_charset("gbk",$conn)。
    (3) mb_convert_encoding,如mb_convert_encoding($sql,"utf8","gbk"),将SQL语句从gbk格式转换为utf8格式时,0x5c被吃掉了。
    (4) iconv,如iconv('GBK', 'UTF-8',$sql),原理同上。

    本地电脑通过修改hosts文件实现域名本地解析

    1. 打开cmd ping一下你想解析的这个域名,一般会发现这个是还未解析的域名
    2. 用管理员打开记事本,然后点击打开进入system32、driversetc,找到hosts文件,打开。
    3. 在最后输入想解析的ip地址和域名。即可。
  • 相关阅读:
    java里的分支语句--程序运行流程的分类(顺序结构,分支结构,循环结构)
    Java里的构造函数(构造方法)
    Java里this的作用和用法
    JAVA中的重载和重写
    从键盘接收字符类型的数据并实现剪刀石头布的规则
    使用Notepad++编码编译时报错(已解决?)
    云就是网络,云计算呢
    使用JavaMail创建邮件和发送邮件
    mysql锁机制
    java中几种常用的设计模式
  • 原文地址:https://www.cnblogs.com/blankicefire/p/8684517.html
Copyright © 2011-2022 走看看