首页 技术教程 实用代码 注册破解 正则表达式 网址导航 电子书籍

利用HTTP指令进行攻击之Cache篇

技术背景随着Web技术越来越广泛的应用到我们的生活,Web应用的架构的设计者和开发者不得不面对这么一个问题,那就是Web不断增长的访问量和负载,随之提升性能的相关技术应运而生,如DNS轮询、负载均衡、Cache技术等等。如果有兴趣,大家不妨对大型网站进行一下抓包,可以发现很多网站都采用了squid反向代理,通过Squid的Cache提供高速Web响应。攻击原理Cache机制不仅给服务器处理带来了很大程度的性能提升,一定程度上,也大大提升了Web服务提供商应对Get Flood的能力。用户对网站的访问,大多被分布的Cache服务器分担了,由于Cache服务器的数量以及Cache的良好处理吞吐性能,即便发生了Get Flood等攻击,此种机制也可以很好的...
类别:网络技术 - 网络安全    查看:124    更新:2014-07-15

JSP中HTTP认证的方法

最近研究了jsp中作HTTP认证的问题,它的工作方式如下: 1、server发送一个要求认证代码401和一个头信息WWW-authenticate,激发browser弹出一个认证窗口 2、server取得browser送来的认证头"Authorization",它是加密的了,要用Base64方法解密,取得明文的用户名和密码 3、检查用户名和密码,根据结果传送不同的页面 以下是jsp的片断,你也可以把它做成include文件。和Base64的加解密的class源码。 如有兴趣可与我联系:unixboy@yeah.net <jsp:useBean id="base64"scope="page"class="Base64"/> <% if(request.getHeader("Authorization")==null){ response.setStatus(4...
类别:网页编程 - JSP技术    查看:132    更新:2014-06-23

XMLHTTP

XMLHTTP对象及其方法 ------------------ MSXML中提供了Microsoft.XMLHTTP对象,能够完成从数据包到Request对象的转换以及发送任务。  创建XMLHTTP对象的语句如下:  Set objXML = CreateObject("Msxml2.XMLHTTP") 或 Set objXML = CreateObject(“Microsoft.XMLHTTP”) ' Or, for version 3.0 of XMLHTTP, use: ' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP") 对象创建后调用Open方法对...
类别:网页编程 - XML应用    查看:126    更新:2014-06-18

XMLHTTP批量抓取远程资料

可以在此基础上结合正则表达式做成更好的效果,希望大家能分享一下Xmlhttp的session共享技术 <html> <head> <title>AUTOGET</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body bgcolor="#FFFFFF" style="font-family:Arial;font-size:12px"> <% '================================================= 'FileName: Getit.Asp 'Intro : Auto Get Data From Remote&n...
类别:网页编程 - ASP技术    查看:156    更新:2014-06-18

建立XMLHttpRequest对象池

在ajax应用中,通常一个页面要同时发送多个请求,如果只有一个XMLHttpRequest对象,前面的请求还未完成,后面的就会把前面的覆盖掉,如果每次都创建一个新的XMLHttpRequest对象,也会造成浪费。解决的办法就是创建一个XMLHttpRequset的对象池,如果池里有空闲的对象,则使用此对象,否则将创建一个新的对象。  下面是我最近写的一个简单的类:  /**   * XMLHttpRequest Object Pool   *   * @author    legend <legendsky@hotmail.com>   * @link      http://www.ugia.cn/?p=...
类别:网页编程 - JavaScript    查看:145    更新:2014-06-16

AJAX中XMLHttpRequest的封装

在AJAX编程中离不开对XMLHttpRequest对象的使用。XMLHttpRequest对象代表了浏览器和服务器之间的通讯,并可采用异步模式。浏览器通过XMLHttpRequest在后台发起请求,然后通过其属性onreadystatechange注册的回调函数来异步处理应答。编程步骤如下: 1. 创建XMLHttpRequest对象xhr; 2. 调用xhr的open方法打开资源; 3. 通过xhr的属性onreadystatechange注册回调函数; 4. 通过xhr的方法setRequestHeader设置相应请求头; 5. 调用xhr的send方法发起请求。 从上我们可以看到,编程步骤固定,在某些步骤中有些许的变化。由此我们可以联想到模板(template)和回调(callback)编程模式。在此处的回调依赖于xhr的状...
类别:网页编程 - JavaScript    查看:139    更新:2014-06-16

XMLHTTPRequest的属性和方法

设计AJAX时使用的一个重要的技术(工具)就是XMLHTTPRequest对象了。XMLHttpRequest对象是当今所有AJAX和Web 2.0应用程序的技术基础。尽管软件经销商和开源社团现在都在提供各种AJAX框架以进一步简化XMLHttpRequest对象的使用;但是,我们仍然很有必要理解这个对象的的属性和方法简介。1、XMLHTTPRequest对象什么是?最通用的定义为:XmlHttp是一套可以在Javascript、VbScript、Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套API。XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。(这个功能正是AJAX的一大特点之一)来自MSDN的解释:XmlHtt...
类别:网页编程 - JavaScript    查看:147    更新:2014-06-14

ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER

HTTP-REFERER这个变量已经越来越不可靠了,完全就是可以伪造出来的东东,以下是伪造方法: 以下是ASP代码:【复制】 dim http set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以 Http.open "GET",url,false Http.setRequestHeader "Referer","http://www.dc9.cn/" Http.send()PHP代码PHP(不装curl用sock) 以下是PHP代码:【复制】 $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, "http://www.dc9.cn/xxx.asp"); curl_setopt ($ch, CURLOPT_REFERER, "http://ww...
类别:网页编程    查看:139    更新:2014-06-05

客户端浏览器缓存的Http头介绍

做网站开发离不开缓存,缓存分好多种:服务器缓存,第三方缓存,浏览器缓存等。其中浏览器缓存是代价最小的,因为浏览器缓存依赖的是客户端,而几乎不耗费服务器端的资源。让浏览器做缓存需要给浏览器发送指定的Http头,告诉浏览器缓存多长时间,或者坚决不要缓存。作为.net的程序员,其实我们一直都在用这种方 法,在OutputCache指令中指定缓存的Location为Client时,其实就是给浏览器发送了一个Http头,告诉浏览器这个Url要缓存多 长时间,最后修改的时间。微软在OutputCacheModule中对这些缓存用到的Http头给我们进行了很好的封装,但是了解这些Http头可以更灵活的使用它们。和客户端缓存相关的Http头有以下几个,分别是:1. Ex...
类别:网页编程    查看:125    更新:2014-06-03

创建具有javascript的HTML的XMLHTTP

亲爱的 GUI 博士: 我有一个关于 XML 的问题。我通过 XMLHTTP 发布一个 ASP 页面,将数据作为 HTML 发送回来,并在 div、表格单元格或任何元素上执行 object.innerHTML。 我遇到的问题是,有一次,我在 ASP 服务器页上创建一个表单,并将该表单以 HTML 发送回去,这样做一切正常。但我还希望对该页面进行客户端验证,因此我将一个 JScript 页面链接放到了我打算发送回去的响应 HTML 的正文中。这样做以后,脚本就无法运行了。 当我在父页上包括实际的 JScript src 引用时,它可以正常运行。这是因为 JScript 代码没有加载到运行库吗?能否在响应 XMLHTTP post 时不返回 JScript 代码并...
类别:网页编程 - JavaScript    查看:136    更新:2014-05-22

在JSP中作HTTP认证的方法

最近研究了jsp中作HTTP认证的问题,它的工作方式如下: 1、server发送一个要求认证代码401和一个头信息WWW-authenticate,激发browser弹出一个认证窗口 2、server取得browser送来的认证头"Authorization",它是加密的了,要用Base64方法解密,取得明文的用户名和密码 3、检查用户名和密码,根据结果传送不同的页面 以下是jsp的片断,你也可以把它做成include文件。和Base64的加解密的class源码。 如有兴趣可与我联系:unixboy@yeah.net <jsp:useBean id="base64"scope="page"class="Base64"/> <% if(request.getHeader("Authorization")==null){ response.setStatus(401); response.setHeader("WWW-authenticate","B...
类别:网页编程 - JSP技术    查看:133    更新:2014-05-20

ASP.NET HTTP运行时组成详解

简介  不管使用哪种底层平台,可靠性和性能都是对所有 Web 应用程序的主要要求,尽管从某种意义上讲,这两个要求是相互矛盾的。例如,要构建更可靠、更健壮的应用程序,可能需要将 Web 服务器与具体的应用程序分离,使应用程序在进程外工作。但是,如果在不同于 Web 服务器进程的内存环境中工作,应用程序将变慢。因此,需要采取合理的措施,以确保进程外代码尽可能快地运行。  在构建 Microsoft? ASP.NET 运行时环境时,依据的设计原则即:充分考虑可靠性和性能。得到的 ASP.NET 进程模型包含了两个系统元素 - 一个存在于 Web 服务器进...
类别:网页编程 - ASP.NET    查看:94    更新:2014-05-20

在自定义HttpHandler中使用Session

最近需要做一个对特定请求进行响应的接口,只是在内部处理,不存在UI,机于这种情况,当然是使用实现IHttpHandler来进行处理,可以减掉加载HTML 控件的时间。本来都是这样想的,对于IHttpHandler 中定义了两个方法,ProcessRequest(HttpContext ctx) 和 IsRunable() 这两个,看到在ProcessRequest(HttpContext ctx) 中有个HttpContext的输入参数,本来以为通过这个就可以对所有的服务器对象进行使用,只是在前面需要对HttpContext的引用。不过问题出现了,在这个自定义HTTP 响应处理头中需要写入Session,对于其他Request和Response 都可以通过使用HttpContext来引用使用,不过Session 就是不行,总是出现对...
类别:网页编程 - ASP.NET    查看:116    更新:2014-05-20

PHP获取https下的内容

直接用file_get_contents 以下是PHP代码:【复制代码】 $url = ("https://goalercn.com"); file_get_contents($url); 报错: Warning: file_get_contents(https://goalercn.com) [function.file-get-contents]: failed to open stream: No such file or directory in D:wampwwwgrabber_clientindex.php on line 3 用curl的方式是可以的 以下是PHP代码:【复制代码】 $url = (https://goalercn.com); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, f...
类别:网页编程 - PHP技术    查看:136    更新:2014-05-19

PHP伪造HTTP_REFERER测试代码

error_reporting( E_ERROR | E_WARNING | E_PARSE ); set_time_limit(0); $server  = 'www.goalercn.com';   // IP address $host    = 'www.goalercn.com';   // Domain name $target  = '/test.php?x=1';    // Specific program $referer = 'http://www.goalercn.com/down/redirect.php?x=downurl&id=39&urlid=65';    // Referer $port    = 80; $re = fsockopen($server, $port, $errno, $errstr, 30); if (!$re){    echo "<h1>无法连接远程服务器</h1>...
类别:网页编程 - PHP技术    查看:100    更新:2014-05-19

使用PHP得到所有的HTTP请求头

PHP中一般采用getallheaders来获取头部,但事实上,有些模式下是获取不到的(以前真没有注意过在fastcgi下这个函数不能用,当然我现在也没有测试) 他说:在PHP里,想要得到所有的HTTP请求头,可以使用getallheaders方法,不过此方法并不是在任何环境下都存在,比如说,你使用fastcgi方式运行PHP的话,就没有这个方法,所以说我们还需要考虑别的方法,幸运的是$_SERVER里有我们想要的东西,它里面键名以HTTP_开头的就是HTTP请求头: 以下是PHP代码:【复制代码】 $headers = array(); foreach ($_SERVER as $key => $value) { if ('HTTP_' == substr($key, 0, 5)) { $headers[str_replace('...
类别:网页编程 - PHP技术    查看:71    更新:2014-05-19