引贴:

http://mp.weixin.qq.com/s?__biz=MzIyMDEzMTA2MQ==&mid=2651148212&idx=1&sn=cd4dfda0b92ab6a88cc9e4ee9feea32d&chksm=8c21542ebb56dd38ac073112df40dfd2e76e824be33b5045cf63b35e74578a53ae909111d844&scene=1&srcid=0913HLl2cBggRZa1jldZPE8t#rd

一定使用firefox来学习

首先开启apche和mysql,我的虚拟机安装的是lampp集成环境

然后到WEB根目录创建一个测试的php文件

然后键入以下代码

然后使用火狐访问:
http://192.168.30.208/xsstest.php/?title=Hello%20World%20Mululu Test

其中 ?title=Hello%20World%20Mululu Test 这一段是传入一串参数

看看效果:

看看抓取的源代码:

注意Title部分和正文content......的上面,我们不管给GET参数title赋值什么,这两处都是相同的。

如果假设我们输入了一个<p>a</p>会发生什么呢?

我们看到title变成了<p>a</p>,正文的标题也成了<p>a</p>,但是为什么我们的HTML没有执行呢?

我们来看下源代码就懂了:

在title标签之间的<p>a</p>确实是<p>a</p>,但是在正文的h1标签之间的<p>a</p>却是:&lt;p&gt;a&lt;/p&gt;

这个正文处的<p>a</p>没被浏览器渲染,我们也就认了吧,因为在源代码里根本就不是<p>a</p>。但是这个title标签之间的<p>a</p>没被渲染是怎么一回事呢?

原因很简单,这是因为title标签之间的内容会被显示在浏览器的tab页内,<p>标签在title标签之间没法执行怎么办?

我们闭合</title>这样再在后面写代码就可以了

这个就理解为 我们通过参数注入进去的代码 被执行了
这一点很简单 但是却很重要 
因为如果这样子注入的代码可以被执行 那就意味着我们还可以注入更坏的东西

比方说这样:
http://192.168.30.208/xsstest.php/?title=test%3C/title%3E%3Cscript%3Ealert(/XSS/);%3C/script%3E

效果如下:

于是我们就一步一步控制了这个页面的行为 那我们还可以更坏
比方说我们可以钓个鱼:
http://192.168.30.208/xsstest.php?title=TITLE%3C/title%3E%3Cscript%3Evar%20a%20=%20prompt%28%27%E5%AF%86%E7%A0%81%E5%B7%B2%E7%BB%8F%E8%BF%87%E6%9C%9F%EF%BC%8C%E8%AF%B7%E9%87%8D%E6%96%B0%E8%BE%93%E5%85%A5%E5%AF%86%E7%A0%81%27%29;alert%28a%29;%3C/script%3E

太可怕了。。。。。。。

其实XSS是属于Code Injection的一种。就和SQL注射一样都是属于Code Injection漏洞,只是Injection的代码不同,SQL注射注射的是SQL语句,XSS则是注射的HTML和JS的语句。

XSS注入学习的更多相关文章

  1. XSS漏洞学习笔记

    XSS漏洞学习 简介 xss漏洞,英文名为cross site scripting. xss最大的特点就是能注入恶意的代码到用户浏览器的网页上,从而达到劫持用户会话的目的. 说白了就是想尽办法让你加载 ...

  2. XSS基础学习

    XSS基础学习 By:Mirror王宇阳 什么是XSS XSS攻击是指在网页中嵌入一段恶意的客户端Js脚本代码片段,JS脚本恶意代码可以获取用户的Cookie.URL跳转.内容篡改.会话劫持--等. ...

  3. MySQL手工注入学习-1

    MySQL手工注入学习 SQLi-labs 手工注入学习 以下是通过SLQi-labs平台的部分简单例题的手工注入过程 Less-1:union联合查询注入 页面提示:Please input the ...

  4. 富文本编辑器防止xss注入javascript版

    富文本编辑器:ueditor 其实富文本编辑器已经有防止xss注入功能,但是你服务端程序在接收的时候在做一次转义,否则有可能然后前端验证直接提交数据导致被xss攻击. 为了节省后端程序开销则在前端 显 ...

  5. 基于DOM的XSS注入漏洞简单解析

    基于DOM的XSS注入漏洞简单解析http://automationqa.com/forum.php?mod=viewthread&tid=2956&fromuid=21

  6. 【web安全】第一弹:利用xss注入获取cookie

    首先一定要先来吐槽一下tipask系统.这是一枚开源的类似百度知道的系统,但是漏洞多多,最基本的XSS注入都无法防御. 言归正传: [准备1] cookie接收服务器. 平时喜欢用sae,所以在sae ...

  7. 中间人攻击工具mitmf(另类的XSS注入攻击)

    中间人攻击工具mitmf(另类的XSS注入攻击) (一)简介 (二)安装 (三)结合beef使用 (一)简介 Mitmf 是一款用来进行中间人攻击的工具.它可以结合 beef 一起来使用,并利用 be ...

  8. 初级安全入门——XSS注入的原理与利用

    XSS的简单介绍 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者 ...

  9. web安全之XSS注入

    之前在做项目的时候有遇到一些安全问题,XSS注入就是其中之一 那么,什么是XSS注入呢? XSS又叫CSS (Cross Site Script) ,跨站脚本攻击.它指的是恶意攻击者往Web页面里插入 ...

随机推荐

  1. ngx_lua 随笔

    --[[ test --]] ngx.header.content_type = "text/plain"; --输出头部 local user = ngx.var.arg_use ...

  2. 记一次线上Kafka消息堆积踩坑总结

    2018年05月31日 13:26:59 xiaoguozi0218 阅读数:2018更多 个人分类: 大数据   年后上线的系统,与其他业务系统的通信方式采用了第三代消息系统中间件Kafka.由于是 ...

  3. js入门介绍

    为什么起名叫JavaScript?原因是当时Java语言非常红火,所以网景公司希望借Java的名气来推广,但事实上JavaScript除了语法上有点像Java,其他部分基本上没啥关系. 为了让Java ...

  4. python的卸载方式和运行yum报错:No module named yum

    公司测试机环境不知道给我卸了什么包,导致yum运行报错状况: 系统版本:Red Hat Enterprise Linux Server release 6.2 (Santiago) 内核版本:2.6. ...

  5. easyui_extension.js

    $.extend($.fn.datagrid.methods,{ /** * 开打提示功能 * * @param {} * jq * @param {} * params 提示消息框的样式 * @re ...

  6. 面向对象分析和设计(OOA/D)

    UML不是OOA/D,也不是方法,它仅仅是一种图形表示法(表示的是OOA/D的想法),我们将在OOA/D中应用UML:分析,就是理解客户脑子中的概念,跟客户来沟通,分析出专业术语:设计,对分析出来的专 ...

  7. 【BZOJ】1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏(刷水严重)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1666 这种我就不说了.. #include <cstdio> #include < ...

  8. 阿里Java开发手冊之编程规约

    对于程序猿来说,编程规范能够养成良好的编程习惯,提高代码质量,减少沟通成本.就在2月9号,阿里出了一份Java开发手冊(正式版),分为编程规约.异常日志.MySQL规约,project规约.安全规约五 ...

  9. Android SDK代理server解决国内不能更新下载问题

    读者须知:本篇文章中最靠谱的是第三种方式,近期有读者反映第三种方式也不行了,以下提供一点其它途径的开源镜像网站: 国内高校的开源镜像站 中国科学技术大学(debian.ustc.edu.cn) 上海交 ...

  10. sqlalchemy 判断字段是否存在

    1.low方法: (1)person_obj=session.query(Person).filter(Person.name=='jack') print (person_obj.count()) ...