前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初识 XSS 3

初识 XSS 3

作者头像
py3study
发布2020-01-09 17:03:01
4120
发布2020-01-09 17:03:01
举报
文章被收录于专栏:python3python3

XSS长期被列为web 安全的大敌,那么什么是 Xss 呢?看如下列子:

1:

php 页面:

代码语言:javascript
复制
<?php
    $input=$_GET["param"];
        echo "<div>".$input."</div>";
?>

浏览器测试:

a.正常请求:

浏览器输入:http://localhost/xss/index.php?param=This is an test

输出正常

b.浏览器输入:http://localhost/xss/index.php?param=<script>alert(/xss/)</script>

浏览器直接弹出对话框。

********************

1.1 反射型:

它指的是恶意***者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意***用户的特殊目的。需要用户点击一个恶意的连接,才可以***成功。也叫做 “非持久型XSS”

1.2 存储型:

XSS代码被提交给网站-->网站把XSS代码SetCookie给浏览器-->浏览器再次请求网站时提交包含XSS代码的Cookie-->网站从Cookie中取出包含XSS代码的某变量并将该变量作为页面内容的一部分返回给客户端-->客户端执行XSS代码。

举例:***写了一篇恶意代码的文章发表后,所有访问的人都会执行这段恶意代码。

1.3 DOM Based XSS :

DOM—based XSS漏洞是基于文档对象模型Document Objeet Model,DOM)的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。DOM中有很多对象,其中一些是用户可以操纵的,如uRI ,location,refelTer等。客户端的脚本程序可以通过DOM动态地检查和修改页面内容,它不依赖于提交数据到服务器端,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM—based XSS漏洞。

********************

2. DOM Based XSS 实例:

测试代码:

代码语言:javascript
复制
<html>
<body>
<script>
function test(){
  var str=document.getElementById("text").value;
  document.getElementById("t").innerHTML ="<a href='"+str+"'>testLink</a>";
}
</script>
<div id="t"></div>
<input type="text" id = "text" value=""/>
<input type="button" id="s" value="write"  />
</body>
</html>

测试:

1.在输入框输入 正常字符串

正常响应。

2.输入特殊代码:

如:

' onclick = alert(/xss/) //

输入之后页面代码变成了:

代码语言:javascript
复制
<a href=''  // ' >testLink</a>

执行结果当然是:弹出 XSS 啦!

另外还可以构造:

代码语言:javascript
复制
'><img src=# onerror=alert(/xss/) /> <'

输入后页面代码变成:

代码语言:javascript
复制
<a href=''><img src=# onerror=alert(/xss/) /><''></a>

通过这两个例子,我加深了对XSS 原理的理解,不错哦。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档