网络安全-跨站脚本攻击(XSS)自学笔记

目录

所用工具

简介

XSS的类型

反射型XSS/不持久型XSS

 存储型XSS/持久型XSS

 基于DOM的XSS

如何挖掘XSS


所用工具

Google出品:开源Web App漏洞测试环境:Firing Range

靶机:dvwa、pikachu

简介

跨站脚本攻击(全称Cross Site Scripting,为和CSS(层叠样式表)区分,简称为XSS)是指恶意攻击者在Web页面中插入恶意Script代码,当用户浏览网页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

xss是攻击客户端,最终受害者是用户,网站管理员也是用户之一。
xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。常见的输出函数有: echo printf print print_r sprintf die var-dump var_export。

XSS的类型

反射型XSS/不持久型XSS

选择的是echo函数,不加过滤,直接输出

input.php

<?php 
$input = $_GET['input'];
echo 'output:<br>'.$input;
?> 
显示

可以看到我们的输入直接被输出。 那么,如果我们的参数是JavaScript代码呢?

<script>alert('xss attack by lady_killer9')</script>
js代码执行

也就是说js能够做到的事情,都可在这里插入去实现,比如跳转到钓鱼网站。

 Firing Range的Html Body存在的反射型XSS

反射性XSS攻击之html Body
脚本插入

下面是在dvwa中的展示

插入js代码
提交
查看网页源代码

 存储型XSS/持久型XSS

和反射型XSS的即时响应相比,存储型XSS则需要先把代码保存数据库或文件中,下次读取时仍然会显示出来。利用的问题依然是没有对用户的输入进行过滤。使用靶机pikachu的存储型xss。

<script>alert(document.cookie)</script>
xss注入
注入成功
注入后留言列表

 基于DOM的XSS

基于文档对象模型Document Objeet Model,DOM)的一种漏洞。客户端的脚本可以通过DOM动态地修改页面内容,它不依赖于提交数据到服务器,而是从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM型XSS漏洞。

没了解过DOM的可以看一看HTML DOM教程

HTML DOM就像数据结构中的树,有根节点,叶子节点等,通过document对象进行写入。

F12查看源代码

使用F12查看,发现是把id为text的输入框的内容显示出来。单引号闭合即可,而且F12的时候就直接看见了。

提示给的是

'onclick="alert('lady_killer9')">

我使用的是

'onclick='alert('lady_killer9')
标题

 

如何挖掘XSS

寻找脚本程序的显示代码,搜索关键字,显示变量,跟踪变量是否被过滤。

博主也是刚接触,做一下简单的,有及时的正反馈才能更好的学下去。接下来的文章可能进行代码分析等,使用更好的靶机。

 更多内容查看:网络安全-自学笔记

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。

猜你喜欢

转载自blog.csdn.net/lady_killer9/article/details/107126005