IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> XSS-labs1-5关 -> 正文阅读

[PHP知识库]XSS-labs1-5关

第一关

查看源代码

从这里我们可以看到它将name的参数值,插入到了<h2> </h2>标签之间
那么就很明显,这一关主要就是考察反射型xss
但是由于不知道服务器端对于提交的敏感字符有没有过滤,所以这里直接在name参数
中赋值一个简单的弹窗来进行测试。
操作如下:
将name参数重新赋值:<script>alert( 'xss ')</ script>
?

点击确定,进入第二关

?

?首先查看源代码

输入 <script>alert( 'xss ')</ script>,显示不行,没有找到

再看源代码

可以看到在<h2> </h2>标签之中的恶意代码被编码了。
其中<和>都被编码成了html字符实体。
猜测在服务器端用htmlspecialchars()函数对keyword参数的值进行了处理。
接着往下看可以看到插入到value参数值中的恶意代码并没有被编码而是直接原样返回
但是问题是这里的js代码在标签属性值中,浏览器是无法执行的。
既然上面的恶意代码被编码了,那么只能从属性值中的恶意代码处进行突破了。
要想浏览器执行这里的弹窗代码,只需要将属性的引号和标签先闭合就可以了。
将keyword的参数值重新赋值"><script>alert( 'xss ' )</ script>/l
?

左边的">去闭合原先的”右边的/去注释原先的">
可以看到浏览器成功弹窗了,说明我们提交的恶意代码被浏览器执行了。
去服务器端看看level2.php代码
?

点击确定进去第三关

?首先输入test查看源代码

?报错了,继续尝试输入 <script>alert( 'xss ')</ script>,再看源代码

这两处都将<和>这样的敏感字符编码成了html字符实体。
猜测服务器端在这两处都用htmlspecialchars()函数进行了处理。
去服务器端看看level3.php代码
确认我们的猜测
这里可以通过<input>标签的一些特殊事件来执行js代码
构造代码: level3.php?keyword= ' οnfοcus=javascript:alert( 'xss ') >//&submit=搜索
发现没有直接弹窗,这是因为onfocus事件的特殊性造成的
1| onfocus事件在对象获得焦点时发生。
2
onfocus 通常用于<input>, <select>,和<a>.
最简单的实例就是网页上的一个输入框,当使用鼠标点击该输入框时输入框被选中可以
输入内容的时候就是该输入框获得焦点的时候,此时输入框就会触发onfocus事件.因此
点击当前页面的输入框就可以完成弹框了。
?

?点击确定进入第四关

?首先输入<script>alert( 'xss ')</ script>查看源代码

?上边一行把<>实体化了下边直接把<>删除了
但是,事件触发却不需要使用这两个符号。和一关类似使用onfocus

level4.php?keyword="οnfοcus=javascript:alert('xss') "
?

?点击确定进入第五关

分析图片,还是get方式请求参数,所以还是反射型的xss
上弹窗代码: <script>alert( 'xss ')</ script>测试一下

这里居然对onfocus这一类的事件字符也进行了防范。
从刚才的响应来看提交的javascript字符并没有被过滤或者转义等
所以此处既然无法通过<script>标签或触发事件来执行js代码的话,那么可以换一个标签来执行js代码。
继续构造如下代码: ?keyword="> <a href=javascript:alert( 'xss ') > xss</a>//
?

?前五关就完成了。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:08:53  更:2022-02-28 15:09:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 11:03:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码