网络安全系列之二十三 XSS跨站脚本攻击1

简介:

跨站脚本攻击(Cross Site Scripting)指的是恶意攻击者往Web页面里插入恶意脚本代码,当用户浏览该页之时,嵌入其中Web里面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的。

为了与层叠样式表(Cascading Style Sheets)的缩写CSS区分开,跨站脚本攻击通常简写为XSS。

为了更好地理解XSS攻击,我们需要搭建一个php环境,这里仍然推荐使用NPMserv,软件下载地址:http://down.51cto.com/data/1886128

我们首先编写一个简单的php脚本文件info.php:

wKioL1RZa5rSzC1kAABkfTZ2FIo797.jpg 

这段代码的意思是以get方法将参数name的值赋给变量username,然后再输出变量username的值。

将文件放到NPMserv下的www目录中,然后在客户端访问:

wKiom1RZa0OT4MnzAADLpCyrZco577.jpg 

正常情况下,用户会在URL中提交参数name的值为自己的姓名,然后该数据内容会通过以上代码在页面中展示,如用户提交姓名为“张三”:

wKioL1RZa7CiqsVFAADUKI0WyRI846.jpg 

但是如果用户提交的数据中包含有可能被Web服务器执行的代码,那么就构成了XSS攻击。如用户提交的name值为<script>alert(/我的名字是张三/)</script>:

wKiom1RZa1mzUkOnAAEpqfaFCM0432.jpg 

<script>……</script>是HTML中用于执行JavaScript语言的标记,因而只要黑客精心构造一些JavaScript语句,那么就可以达到相应的攻击目的了。

XSS攻击的原理和实现方法相比SQL注入要复杂一些,从攻击方式上分类,XSS主要有反射型和存储型。

反射型(外部攻击型)只对当前链接生效,需要用户点击恶意网站使得恶意脚本运行;

wKiom1RZa26g-HnpAAGMroPrTBg757.jpg 

存储型(内部攻击型)网页程序本身xss漏洞,只要用户请求该网页就会受到影响。

wKioL1RZa9vQKSoaAAFm1Z_ChWg100.jpg 

反射型一般需要用户自行去触发,比如我们刚才所进行的XSS攻击就属于是反射型。另外,黑客也可以像图示中那样,将构造好的URL链接发送给正常的用户,让这些用户去执行XSS,从而获取这些用户的信息,比如cookie等。

存储型则是直接将xss语句插入到网站的正常页面中(通常都是留言板),然后用户只要访问了这些页面,就会自动执行其中的xss语句。

关于存储型的跨站将在下篇博文介绍。



本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1571910

相关文章
|
9月前
|
安全 Linux 网络安全
利用Python脚本自动备份网络设备配置
通过本文的介绍,我们了解了如何利用Python脚本自动备份网络设备配置。该脚本使用 `paramiko`库通过SSH连接到设备,获取并保存配置文件。通过定时任务调度,可以实现定期自动备份,确保网络设备配置的安全和可用。希望这些内容能够帮助你在实际工作中实现网络设备的自动化备份。
392 14
|
11月前
|
存储 JSON 安全
2024全网最全面及最新的网络安全技巧 二 之 CSRF+XSS漏洞的各类利用技巧
2024全网最全面及最新的网络安全技巧 二 之 CSRF+XSS漏洞的各类利用技巧
|
存储 JavaScript 前端开发
Xss跨站脚本攻击(Cross Site Script)
Xss跨站脚本攻击(Cross Site Script)
|
11月前
|
网络协议 安全 物联网
网络安全涨知识:基础网络攻防之DDoS攻击
网络安全涨知识:基础网络攻防之DDoS攻击
645 0
|
存储 安全 JavaScript
XSS跨站脚本攻击详解(包括攻击方式和防御方式)
这篇文章详细解释了XSS跨站脚本攻击的概念、原理、特点、类型,并提供了攻击方式和防御方法。
4812 2
|
云安全 缓存 网络协议
如何防护DDoS攻击,筑牢网络安全防线
随着信息技术的飞速发展,网络已成为现代社会不可或缺的一部分,极大地便利了个人社交和商业活动。然而,网络空间在创造无限机遇的同时,也潜藏着诸多威胁,其中分布式拒绝服务攻击(DDoS,Distributed Denial of Service)以其高破坏力和难以防范的特点,成为网络安全领域的一大挑战。本文将从DDoS攻击的原理出发,详细探讨如何有效防护DDoS攻击,以筑牢网络安全防线。
|
存储 JSON Ubuntu
如何使用 Lua 脚本进行更复杂的网络请求,比如 POST 请求?
如何使用 Lua 脚本进行更复杂的网络请求,比如 POST 请求?
|
存储 Linux Shell
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
|
运维 监控 网络协议
|
SQL 监控 安全
在Linux中,如何检测和防止SQL注入和跨站脚本(XSS)攻击?
在Linux中,如何检测和防止SQL注入和跨站脚本(XSS)攻击?