| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> XSS漏洞 -> 正文阅读 |
|
[PHP知识库]XSS漏洞 |
一、XSS漏洞简介XSS(Cross-Site Scripting):跨站脚本攻击,为不与层叠样式表的缩写混淆,将跨站脚本攻击缩写为XSS。 XSS漏洞是一种在Web应用中常见的安全漏洞,它允许用户将恶意代码植入Web页面,当其他用户访问此页面,植入的恶意代码就会在其他用户的客户端执行。 二、XSS的分类1、反射型XSS漏洞 利用反射型XSS漏洞植入的恶意代码不会存储在服务器端,一般通过搜索页面,需要构造植入恶意代码的Web页面,诱骗受害者访问该页面,才能触发攻击。 2、存储型XSS漏洞 利用存储型XSS的恶意代码存储在服务器中,一般通过留言板、个人信息、文章发表等功能的页面中。如果页面对用户输入的数据过滤不严格,恶意用户会将恶意代码存储到服务器中。这类XSS漏洞代码非常严重,因为恶意代码会存储到服务器中,客户端每次访问服务器都会触发恶意代码。 3、DOM型XSS漏洞 DOM型XSS漏洞是基于文档对象模型(Document Object Model)的一种XSS漏洞。 三、反射型XSS漏洞代码分析:
输入以下测试语句:
会输出Hellozhang,如图3.1所示。 图3.1 输入name=zhang的返回结果 ?输入以下测试语句:
会执行植入的XSS恶意代码,触发弹窗,如图3.2所示。 图 3.2 利用反射型XSS漏洞的效果 ?分析:某些情况下,用户输入的内容会直接通过浏览器显示,因为浏览器会识别HTML标签和JavaScript代码,因此在没有对用户输入的内容做过滤时,当用户提交的内容存在JavaScript代码时会直接被浏览器识别并执行。 四、存储型XSS 漏洞代码分析:
?上述代码将用户提交的表单内的值以POST形式提交到message数据表中,由于代码没有对提交的内容做限制以及过滤,当用户上传恶意的JavaScript代码时同样会被上传到数据库中,如图4.1所示 图 4.1 上传至数据库的内容 ?由于恶意代码被Hack上传至服务器,所以当其他用户访问该页面时,恶意代码都会被调用并且由用户的浏览器执行。如图4.2 所示。 图 4.2 普通用户访问时页面 ?五、DOM型XSS 5.1、简介 DOM是W3C组织推荐的处理可扩展标记语言的标准编程接口,可以使程序和脚本能够动态访问和更新文档内容、结构以及样式。 DOM:通过JavaScript,可以重构整个HTML文档,就是说可以添加,移除等等,对页面的某个东西进行操作时,JavaScript就需要获得对HTML文档中所有元素进行访问的入口,这个入口就是DOM,所以在DOM型的XSS漏洞中,DOM可以看成是一个访问HTML的标准程序接口。 特征:整个过程都是在前端完成的,没有后端的参与(纯前端的操作)。 5.2、漏洞代码分析
上述代码var str = document.getElementbyId("text“).value;和<input id ="text"? ...../>意思是把我们输入 的东西(字符串)赋值给str,然后document.getElementById("dom").innerHTML = <a href='"str"' ..../>把这个字符串整合到a这个标签中的href(属性) 里在吧a标签写到dom这个标签中,最后<div id="dom"></div>执行这个标签。 5.3、实列 通过构造'><img src="#" οnclick="alert(document.cookie)" >获得cookie。 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 1:29:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |