首页 > 其他分享 >web安全学习日志---xss漏洞(跨站脚本攻击)

web安全学习日志---xss漏洞(跨站脚本攻击)

时间:2023-07-10 18:23:45浏览次数:42  
标签:web 跨站 浏览器 name xss 代码 --- hack message

1.反射性xss(reflacted)

  仅执行一次,非持久型。主要存在于攻击者将恶意脚本附加到url的参数中,发送给受害者,服务端未经严格过滤处理而输出在用户浏览器中,导致浏览器执行代码数据。

利用场景:

直接插入JS代码,修改url参数

  

攻 <script>alert('hack')</script>

防 $name=str_replace('<script>', '  ',$name)     #将<script>替换成空

攻 <Script>alert('hack')</script>

   <scri<script>pt>alert('hack')</script>

防 $name=preg_replace('/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i','  ',$name);      #pre_replace()正则替换 i为忽略大小写

攻 <img src=1 one rror=alert('hack')>  #用事件代替<script>标签

防 $name=htmlspacialchars($name);   #htmlspacialchars(string)把预定义的字符<>$、转换为HTML实体,防止浏览器将其作为HTNL元素。

2.存储型xss(stored)

持久型。主要存在于攻击者将恶意脚本存储到服务器数据库中,当用户访问包含恶意相关数据的页面时,服务端未经严格过滤处理而输出在用户浏览器中,导致浏览器执行代码数据。

利用场景:

  

防(输入)$message=strip_tags(addsashes($message));  #strip_tags(addsashes($message))函数剥去字符串中的HTML、XML以及PHP的标签;

   (输出)$message=htmlspecialchar($massage);

                 $name=htmlspecialchar($row[''name]);

3.DOM型xss

通过JavaScript操作document,实现dom树的重构。主要存在于用户能修改页面的dom,造成客户端payload在浏览器中执行。

利用场景:

在url中

(结合网页的代码,补全前面,使<script>……</script>成为独立代码)

 

标签:web,跨站,浏览器,name,xss,代码,---,hack,message
From: https://www.cnblogs.com/sun371/p/17541923.html

相关文章

  • 记录--关于浏览器缓存策略这件事儿
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言我们打开百度这个网站并刷新多次时时,注意到百度的logo是没有每次都加载一遍的。我们知道图片是img标签中的src属性加载出来的,这也需要浏览器去请求图片资源的,那么为什么刷新多次浏览器只请求了一次图片资源呢......
  • readability-lxml 源码解析(一)
    browser.pydefopen_in_browser(html):"""OpentheHTMLdocumentinawebbrowser,savingittoatemporaryfiletoopenit.Notethatthisdoesnotdeletethefileafteruse.Thisismainlymeantfordebugging."......
  • Dots 开荒-在Entity中使用托管对象
    预制体转换成Entity后,如何或者预制体上的粒子系统或其他引用类型组件成了一大问题Unity在1.0之后的版本中推出了 Managedcomponents托管组件|实体|1.0.11(unity3d.com)  这允许在Entity上挂载引用类型组件,算是Dots的一次妥协,扩展了实用性,降低了性能查找一个Entity上......
  • 领域知识图谱-中式菜谱知识图谱:实现知识图谱可视化和知识库智能问答系统(KBQA)
    领域知识图谱-中式菜谱知识图谱:实现知识图谱可视化和知识库智能问答系统(KBQA)AknowledgegraphforChinesecookbook(中式菜谱知识图谱),可以实现知识图谱可视化和知识库智能问答系统(KBQA)效果展示:本项目开发的系统名称为AIFoodTime,中文名为爱食光。如需体验可视化功能可直......
  • 关于接口设计-OpenAPI与RESTful API
    OpenAPI和RESTfulAPI并不是相互排斥的概念,而是存在一定的关联和区别。RESTfulAPI(RepresentationalStateTransfer):它是一种架构风格,用于设计网络应用程序的API。RESTfulAPI基于一组规范和约束,通过使用HTTP协议中的不同方法(如GET、POST、PUT、DELETE)对资源进行操作,使用URI(统......
  • 某峰美容预约平台项目-Day1
    一、实训环境搭建1.1开发工具介绍windows开发环境:windows10、windows11jdk:java的开发工具包,所包含jre(java运行环境+jar包)、jvm(java运行环境),一般主要用于开发Java项目idea:主流java开发工具,目前在市面使用范围非常广,可以基本上70-80的java开发人员都在使用这款软件mysql......
  • 搜索功能-实现思路
    四种搜索词搜索热词热词是一种由运维提前维护好的搜索词,会展示在搜索界面的搜索框下,用户可以点击直接搜索该热词的相关结果。运维维护好后,会双写到DB和Redis。接口查询时,会保存到本地缓存,有效期5分钟,所以维护了一个热词,需要五分钟后才能看到。热词会被视为keyword。联想词联......
  • jvm学习-垃圾回收的一些知识点
    部分图片和描述来自参考资料,非原创对象回收处理过程如何标定对象是否存活两种方法:引用计数方法可达性分析算法引用计数方法就和ReentrantLock可重入锁一样,内部维系着一个state,当同个线程重入结束后就会归零,但是这种方法有点问题publicstaticvoidte......
  • MySQL---索引优化与查询优化
     索引失效案例全值匹配我最爱当where条件的所有字段都有索引完全匹配时,效率最高最左前缀规则(联合索引)联合索引,在检索数据时从联合索引的最左侧开始匹配主键插入顺序计算/函数/类型转换(自动或手动)导致索引失效......
  • Element el-form 根据选择条件动态控制表单必填项
    Html:<el-form-itemlabel="审核意见"prop="remark":rules="recordForm.status=='10'?rules.remark:[{required:false}]"><el-inputtype="textarea"v-model="recordForm.remark">......