找回密码
 立即注册
查看: 2925|回复: 0
打印 上一主题 下一主题

跨站点端口攻击 – XSPA(SSPA)

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。8 _+ L+ _  H9 ^7 q
XSPA(SSPA)是什么?* s8 @" I/ ^( G$ y$ P6 _  e6 Q  X$ K
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。) l9 \0 b' {/ v$ d8 ?
PHP fsockopen() function:
  H  \+ s! P' _& v<?php
( s7 T! A: B5 F9 g- D1 s5 Hfunction GetFile($host,$port,$link)
! z3 b0 h$ ^5 r. n) H{
# d. r# L: o" l! E$fp = fsockopen($host, intval($port), $errno, $errstr, 30);1 K' I- X7 ?4 a4 ?" V
if (!$fp) {
- R* J. Q6 U9 x3 Y6 `echo “$errstr (error number $errno) \n”;' W! I/ Q/ R* |5 Z+ t4 M: H
} else {
8 [/ v0 l* a  {5 Y$out = “GET $link HTTP/1.1\r\n”;
% z- Q/ {9 o- u& k3 ]0 U' @$ u$out .= “Host: $host\r\n”;
2 o. I& O1 [8 b+ g3 O) @$out .= “Connection: Close\r\n\r\n”;% |3 A( C4 B. e; O" M% C
$out .= “\r\n”;' H$ [! E9 d4 \% o
fwrite($fp, $out);. Z  M& ?$ [- i! B3 |
$contents=”;3 z( H( l: g# v; w+ n
while (!feof($fp)) {; v3 }+ w: U) t% w7 e) M9 P
$contents.= fgets($fp, 1024);
2 f  X: Y5 F3 }1 U3 j" S7 D8 T# |}* {  O  f- r1 {' Z0 T
fclose($fp);) `* s0 t$ b( o  Z' ^: d! R
return $contents;
/ L6 v! }/ b% V}+ _2 c; V3 f1 P- i" S# P; B
}
3 Z3 }+ Q: b, @& p?>
- h, M- j! F* u; y复制代码0 X5 V7 P! R) @# d: F+ f
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。& e5 I9 u6 |2 b8 U, H1 N5 }  h
  PHP curl_exec() function:
1 G" W& b' @6 x2 v) e1 b& x9 b0 z<?php
# f2 E* S; @6 V7 z  u9 _+ _if (isset($_POST['url']))! i6 i3 J2 ]8 }- Z* f" w
{! L. l5 A. B/ L3 f  P' z+ T
$link = $_POST['url'];) ?0 S+ z- e* {& w) f3 G5 W
$curlobj = curl_init();
5 p' ^' q& c# C& d; Lcurl_setopt($curlobj, CURLOPT_POST, 0);  N* M2 E. H3 w! e$ p
curl_setopt($curlobj,CURLOPT_URL,$link);0 V4 b7 p( X+ V; O( Y
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);4 q8 a: u1 [: M* ?4 \, F
$result=curl_exec($curlobj);
3 f0 Z! W% V& d* c8 E: |curl_close($curlobj);
) h, M% a% a* d1 h4 ` ' b8 c/ c' X* M* o
$filename = ‘./curled/’.rand().’.txt’;. N0 ?6 B8 P6 }/ D" h0 h
file_put_contents($filename, $result);% Z. l1 |) Z6 H) E
echo $result;
4 e2 c! x  c& m  Z}7 g% N) Y; A" M
?>
* n) O7 m! i' j复制代码
9 \2 ]6 H+ }1 n2 O0 j& s2 _: G这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
+ y/ M) K6 X8 C) f/ [# `1 z在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:- I* ?8 y- {' ~: Y3 }  X$ I
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
) E; Z, m2 E, U6 v# m/ s2。开发弱势运行的程序在Intranet或本地Web服务器
$ H! v1 T! m3 C' k: g' `. y3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
. |  Z& o0 }; W0 Y4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为- K4 S/ K' }/ g' W' y( w
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表