当前位置: 首页 > article >正文

Pikachu靶场之XSS

先来点鸡汤,少就是多,慢就是快。

环境搭建

攻击机kali 192.168.146.140

靶机win7 192.168.146.161

下载zip,pikachu - GitCode

把下载好的pikachu-master,拖进win7,用phpstudy打开网站根目录,.....再用kali访问

XSS攻击

反射型xss,一次性的攻击,

就是在html的源代码,插入了你自己的代码,如<script>alert(1)</script>,并执行

防范方式:

<script>alert(1)</script>

有长度限制

观察url,发现把/转义成%2F

把地址栏上的,补充完整,通过URL的方式将恶意代码嵌入

第二种方法,用开发者工具,点击这个输入框出现

更改长度限制,也能成功

反射XSS,post型,看一下提示,登录,获取cookie

<script>alert(document.cookie)</script>

存储型XSS,

会存储到服务器中,多次执行,其它用户访问这个界面也可以执行

在留言板里输入

DOM型xss,是特殊的反射型XSS

看一下源代码,依次是文本框、按钮、超链接(用户的输入,比如这里我输入的1)

<a> 标签定义超链接,用于从一张页面链接到另一张页面,herf属性,它指示链接的目的地

输入#' οnclick="alert(document.cookie)">,点击连接,弹出

这里的 # 是一个锚点,代表当前页面。当用户点击这个链接时,页面不会跳转到其他地方,而是会重新加载当前页面

当用户点击这个链接时,它会执行其中的JavaScript代码

一定要记住随时保存草稿,不然ctrl+z就全没了....

DOM型xss -x 

更上面那个一样,多点2次连接就行

XSS之盲打

两个留言框都可以实现存储XSS攻击,点击提示,登录后台,会弹出弹窗

XSS之过滤

会过滤掉<script>标签,用于嵌入客户端脚本,要么包含脚本语句,要么通过 src 属性 指向外部脚本文件,比如 <script src="path/to/your-script.js"></script>

xss 常用标签及绕过姿势总结 - FreeBuf网络安全行业门户

换个

<img src=1 οnerrοr="alert(1)">

成功

  

再换个<a href="" οnclick="alert('2')">

再点击连接

  

xss之htmlspecialchars

htmlspecialchars() 函数把预定义的字符转换为 HTML 实体(一段以连字号&开头、以分号;结尾的文本字符串),防止代码运行

预定义的字符是: & (和号)成为 &amp;  " (双引号)成为 &quot; 

' (单引号)成为 ' 

  < (小于)成为 &lt;    > (大于)成为 &gt;

看一下源码,οnclick=""多了个双引号

  

' οnclick='alert(2)' 去掉双引号 ,点击链接

  

xss之href输出

a标签的href属性,按道理应该能行的,但是点击没反应,说明代码没执行

  

看一下源代码,双引号和单引号都被编码了

  

[ 常见漏洞篇 ]常见web漏洞总结------XSS绕过方式-CSDN博客

javascript伪协议,不是真实存在的协议,它的功能是将JavaScript:后面的语句当做JavaScript代码在本页面执行,并不跳转到其他网页,而是结果返回给当前页面,相当于一个伪造的超链接,它经常与a标签一起使用,如<a href=javascript:alert(/xss/) > 点击我</a>

输入javascript:alert(1) 点击

  

xss之js输出

  

查看源码,变量 $ms 接收 用户输入的值

  

先输入</script>让<script> $ms=闭合,接着输入攻击代码

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

  

总结

XSS原理

在网页前端界面,url和各种输入框,对用户的输入没做过滤和限制,用户输入<script>alert(document.cookie)</script>执行JS脚本或者<a herf="" οnclick='alert(1)'>test</a>

一个名为test的超链接 或者<img src=1 οnerrοr='alert(2)'>等各种,就是往网页html文档,写入你想执行的代码,就能执行,最好结合网站源码看,观察代码格式。

DOM是...

DOM型XSS,是一种特殊的反射型XSS,不经过服务器,不会被服务器检测,

防范

(1)htmlspecialchars函数把预定义的字符< > ' " / 转换为 HTML 实体,防止代码运行

(2) HTTP-only Cookie: 设置了HttpOnly属性的cookie不能通过JavaScript的Document.cookie对象访问,攻击者完成 XSS 注入后也无法窃取此Cookie。只通过HTTP(S)传输:HTTP-only cookie只能通过HTTP请求传输

(3)设置CSP,通过限制可以执行的脚本源,CSP可以防止恶意脚本在网页上执行。(限制脚本只能从同一个源加载,图片只能从特定的域加载,并且不允许内联脚本和样式)

(4)长度限制

(5)验证请求头的referer值,给出"引荐网页"的 URL

比如我在www.google.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:Referer=http://www.google.com,由此可以看出来:它就是表示一个来源

http请求头中Referer的含义和作用-CSDN博客

过滤<script>标签

绕过

(1)编码绕过,base64 ,十六进制,url编码等

(2)伪协议绕过,javascript:alert(1) 

(3)大小写绕过<SCript>

(4)注释干扰绕过<scri<!--test--> pt> alert(1);</scr<!--test--> ipt>


http://www.kler.cn/news/312307.html

相关文章:

  • Leetcode面试经典150题-97.交错字符串
  • 记一次kafka消息丢失问题排查
  • [SDX35+WCN6856]SDX35 + WCN6856 WiFi可以up起来之后无法扫描到SSID
  • 7.sklearn-逻辑回归、精确率和召回率、ROC曲线和AUC指标
  • Java项目: 基于SpringBoot+mybatis+maven旅游管理系统(含源码+数据库+毕业论文)
  • nvm node管理工具常用指令
  • 编程基础:函数栈帧的创建和销毁
  • (十六)Ubuntu 20.04 下搭建PX4+MATLAB 仿真环境(HITL)
  • 无人机之AI跟踪篇
  • Facebook直播限流是什么原因?是ip地址导致的吗
  • Java商城的技术优势有哪些
  • Spring 出现 No qualifying bean of type ‘com.xxx‘ available 解决方法
  • 35.贪心算法2
  • [ffmpeg] 视频格式转换
  • 开发板与ubuntu建立网络通信(NFS和TFTP协议搭建)
  • elasticsearch实战应用
  • NAT网络地址转换
  • 【spring】spring框架中使用的设计模式有哪些,经典的设计模式应用,spring框架中哪些地方使用了哪些优秀的设计模式
  • 制作炫酷个人网页:用 HTML 和 CSS3 展现你的风格
  • macos清理垃圾桶时提示 “操作无法完成,因为该项目正在使用中” 解决方法 , 强制清理mac废纸篓 方法
  • 外国药品位置检测系统源码分享
  • 好用的XML解析库——fast-xml-parser
  • 应用案例|开源 PolarDB-X 在互联网安全场景的应用实践
  • YOLOv9改进系列,YOLOv9主干网络替换为RepViT (CVPR 2024,清华提出,独家首发),助力涨点
  • 基于Springboot的无接触外卖配送系统
  • 电风扇制造5G智能工厂物联数字孪生平台,推进制造业数字化转型
  • 35. MyBatis中的缓存失效机制是如何工作的?
  • pytorch入门(1)——pytorch加载数据初认识
  • Nginx:高性能Web服务器与反向代理的深度剖析
  • 契约锁与您相约2024新疆数字经济创新大会暨新疆数字丝路博览会