pikachu靶场XSS通关攻略

1.反射型xss(get)

在输入框中输入1 发现1会停留在页面上 可以尝试xxs攻击

当我们输入弹窗的js代码时 发现输入框的长度不允许我们输入过长的语句

我们可以打开网站控制台(f12)修补一下输入框的长度

我们把20改成50即可输入剩下的js代码 就会出现弹窗

<script>alert(1)</script>

2.反射型xss(post)

第二关点一下提示 会让我们进行登录

登录之后可以看到输入框

然后输入js恶意代码 可以弹窗

<script>alert(1)</script>

3.存储型xss

这里是一个留言板功能

输入一个1 可以进行留言功能

尝试输入js恶意代码 <script>alert(1)</script>

页面就会出现弹窗

因为他是存储型xxs 当我们点击别的页面 然后再回来这个页面时还会自动弹窗

我们只能再数据库中进行删除

打开PHPstudy里的软件管理中的mysql管理工具

输入数据库的账号和密码进行登录

点击数据库中的pikachu数据库

然后点击message

可以看到我们刚才构造的js语句 进行删除即可关闭自动弹窗

4.DOM型xss

这一关会用到点击事件οnclick=''

我们在输入框中输入οnclick='alert(1)' 点击之后发现报错了

我们查看网页源代码 可以发现前面需要一个引号来闭合前面的语句才可以

我们加一个单引号尝试有没有弹窗 发现页面出现弹窗 说明存在xxs漏洞

5.DOM型xss-x

这一关也是点击事件触发弹窗

这一关同上一关 只不过是点击的次数不一样 这里是点击第二次会有弹窗

'οnclick='alert(1)'

6.xss之盲打

当我们将恶意js代码提交到后台时 当后台管理员进行登陆时 会自动执行我们输入的js代码

在输入框中输入恶意js代码 <script>alert(1)</script>进行提交

我们登录后台管理就会出现恶意弹窗

7.xss之过滤

当我们在输入框中输入恶意的js代码后发现页面没有出现弹窗

我们去查看网页的源代码 看看是不是闭合方式的问题

我们需要使用单引号把前面的代码闭合 然后写我们的js代码

然后发现加上单引号也不能显示弹窗 考虑js代码是否被过滤

尝试使用大小写混写看一下 发现可以出现弹窗 '<sCript>alert(1)</sCript>

8.xss之htmlspecialchars

这一关也是使用点击事件js代码 οnclick='执行代码'

当我们在输入框中输入οnclick='alert(1)'时 发现点击也无法出现弹窗 出现报错

我们查看网页源代码 发现闭合方式不对 需要在前面使用单引号闭合 然后输入我们执行的js代码

当我们输入'οnclick='alert(1)'时 页面出现弹窗

9.xss之href输出

这一关使用JavaScript协议来进行弹窗

javascript:alert(1)

10.xss之js输出

这一关我们正常输入恶意弹窗代码 <script>alert(1)</script>

然后发现页面没有任何回显

我们查看网页源代码 发现需要先闭合前面的<script>标签 后面再输入我们的恶意js代码

再输入这个 </script><script>alert(1)</script> 页面出现弹窗

相关推荐
开心工作室_kaic30 分钟前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
刚刚好ā30 分钟前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
沉默璇年2 小时前
react中useMemo的使用场景
前端·react.js·前端框架
yqcoder2 小时前
reactflow 中 useNodesState 模块作用
开发语言·前端·javascript
2401_882727572 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架
SoaringHeart2 小时前
Flutter进阶:基于 MLKit 的 OCR 文字识别
前端·flutter
会发光的猪。3 小时前
css使用弹性盒,让每个子元素平均等分父元素的4/1大小
前端·javascript·vue.js
天下代码客3 小时前
【vue】vue中.sync修饰符如何使用--详细代码对比
前端·javascript·vue.js
猫爪笔记3 小时前
前端:HTML (学习笔记)【1】
前端·笔记·学习·html
前端李易安3 小时前
Webpack 热更新(HMR)详解:原理与实现
前端·webpack·node.js