广告
返回顶部
首页 > 资讯 > 后端开发 > Python >初识 XSS 3
  • 210
分享到

初识 XSS 3

XSS 2023-01-31 02:01:00 210人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

XSS长期被列为WEB 安全的大敌,那么什么是 Xss 呢?看如下列子:1:PHP 页面:<?php $input=$_GET["param"]; echo "<div>".$input."<

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

1:

PHP 页面:


<?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 实例:

测试代码:

<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/) //

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

<a href=''  // ' >testLink</a>

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

另外还可以构造:

'><img src=# onerror=alert(/xss/) /> <'

输入后页面代码变成:

<a href=''><img src=# onerror=alert(/xss/) /><''></a>


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

--结束END--

本文标题: 初识 XSS 3

本文链接: https://www.lsjlt.com/news/186043.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 初识 XSS 3
    XSS长期被列为web 安全的大敌,那么什么是 Xss 呢?看如下列子:1:php 页面:<php $input=$_GET["param"]; echo "<div>".$input."</...
    99+
    2023-01-31
    XSS
  • 初识python 3
    if 流程控制的使用[root@Client-1 day2]# cat if.py#!/usr/bin/pythonscore = int(raw_input("Please a num: "))if score >= 90:    ...
    99+
    2023-01-31
    python
  • 初识TomCat之3——TomCat动静
    一、背景介绍在生产环境中tomcat很少直接用于响应客户端请求,即使它可以通过Connector组件接收用户的请求,一般来说常见于server.xml配置文件中Connector连接器的类型有3种:http、SSL和AJP 1.3在生产环境...
    99+
    2023-01-31
    动静 TomCat
  • [xss-3]httponly绕过
    什么是HttpOnly HttpOnly是包含在http返回头Set-Cookie里面的一个附加的flag,所以它是后端服务器对cookie设置的一个附加的属性,在生成cookie时使用HttpOnl...
    99+
    2023-09-02
    web web安全
  • 初识MariaDB之3——MariaDB备份与还原
    一、基础知识数据的重要性无需多说,需要强调的是备份不是目的,能恢复才是目的,以下就Mariadb的一些概念进行说明。1.存储引擎的分类Mariadb5.1以后的版本,默认使用支持事务的InnoDB存储引擎,...
    99+
    2022-10-18
  • Python成长之路第一篇(3)_初识字
    经过上章的学习我们已经了解到了列表可以通过索引来获取对应的值,在本章我们将学到通过名字来索引数据,这种结构的类型称之为映射(maooing),在Python中字典是唯一内建的映射类型,其中的值我们称之为键值对,也就是由(键,值)组成映射关系...
    99+
    2023-01-31
    第一篇 成长之路 Python
  • 初识Java
    一、Java语言概述 1.1 Java是什么 Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义 不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署...
    99+
    2023-10-24
    java 开发语言
  • 初识 Python
    1.源码安装 ipython 1.2.1[root@Client-1]# tar -xf ipython 1.2.1.tar.gz[root@Client-1]cd ipython 1.2.1[root@Client-1 ipython-1...
    99+
    2023-01-31
    Python
  • 初识MySQL
    💕与其抱怨生活的不公,不如积极行动改变它。💕 🐼作者:不能再留遗憾了🐼 🎆专栏:MySQL学习🎆 &...
    99+
    2023-09-01
    mysql 数据库 postgresql
  • 初识Redis
    初识Redis NoSQL是什么? 数据库: 用来存储数据的仓库 NoSQL: 不仅仅是SQL,是许多非关系型数据库的统称,但本质上还是存储数据的仓库 为什么需要NoSQL? 解决了高并发的读写问题 解决了海量数据的高效率存储和...
    99+
    2019-03-22
    初识Redis
  • 初识Android.bp
               初识Android.bp 前言    最近在捣鼓Android 9 和10的build系统,看到一篇比较好的博...
    99+
    2022-06-06
    Android
  • redis初识
    redis介绍 redis是什么 redis是一种基于键值对的NOsql数据库,与很多键值对数据库不同,redis中的值string,hash,list,set,zset,geo等多种数据机构和算法组成,因为redis会将所有的数...
    99+
    2015-08-13
    redis初识
  • 初识EXPDP
    EXPDP介绍 使用dump文件集导入数据和元数据的工具。dump文件集只能被IMPDP导入。dump文件集是由表数据,数据库对象元数据,控制信息组成。由专用的二进制格式编写。这些dump文件由server...
    99+
    2022-10-18
  • 初识Node.js
    1、Node.js是什么 [1]Node是一个服务器端 JavaScript 解释器,可是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了,总结:水深不深我还不知道,不过确实不浅...
    99+
    2022-06-04
    Node js
  • 初识urllib
    使用urllibrequest:  是最基本的 HTTP 请求模块,可以用来模拟发送请求,只需要给库方法传入URL以及额外的参数,就可以模拟实现这个过程了。error:  异常处理模块,如果出现请求错误, 可以捕获这些异...
    99+
    2023-01-30
    urllib
  • 初识django
    HTTP协议   超文本传输协议 四大特性:   1.基于TCP/IP作用在应用层上的协议   2.基于请求响应   3.无连接   4.无状态 数据格式之请求   请求首行   请求头(一堆k,v键值对)   /r/n   请求体 数据...
    99+
    2023-01-31
    django
  • 初识Tornado
    引言 回想Django的部署方式 以Django为代表的python web应用部署时采用wsgi协议与服务器对接(被服务器托管),而这类服务器通常都是基于多线程的,也就是说每一个网络请求服务器都会有一个对应的线程来用web应用(如Dja...
    99+
    2023-01-31
    Tornado
  • 初识Flask
    Flask简介       Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。默认情况下,Flask 不包含数据库抽...
    99+
    2023-01-31
    Flask
  • Python初识
    1.python介绍 python是一门先编译后解释的语言 动态脚本语言 PyCodeObject和pyc文件 pyCodeObject是python编译器真正的编译成的结果。当python程序运行时,编译的结果是保存在位于内存中的PyCo...
    99+
    2023-01-31
    Python
  • 初识P3P
    Google 标签: P3P, 第三方cookie, 隐私策略, http head P3P主要应用于网站跨域访问方面,全称为隐私偏好设定平台(platform for privacy preference, P3P)。而谈到P3P就不得不...
    99+
    2023-01-31
    P3P
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作