Pikachu(皮卡丘)web漏洞练习平台记录(2)

本文介绍了Pikachu靶场中关于XSS(跨站脚本)的五个关卡,包括反射型XSS(get和post),存储型XSS,以及DOM型XSS的原理和实例。作者通过详细解释和代码分析,展示了不同类型的XSS攻击方法及其危害,以及如何利用htmlspecialchars等防御措施来防止XSS攻击。
摘要由CSDN通过智能技术生成

 继续昨天的练习


Cross-Site Scripting

 

 第一关,反射型xss(get)

 

 

 

 

震惊,应该出题时间还在出事前。

当然我不会xss,无论是ctf还是自己渗透的时候,遇到的很少很少,所以真就忘了

pikachu靶场第五关——XSS(跨站脚本)之反射型xss(get)(附代码审计)_pikachu 反射型xss-CSDN博客

每日学习新知识,首先此处XSS重要点不在源代码,而是在网页

 <p class="xssr_title">Which NBA player do you like?</p>
                <form method="get">
                    <input class="xssr_in" type="text" maxlength="20" name="message" />
                    <input class="xssr_submit" type="submit" name="submit" value="submit" />
                </form>

 关于html的知识,链接里很清楚了,这里附上菜鸟教程链接,让大家不懂的也可以去看看菜鸟:

HTML <p> 标签 | 菜鸟教程

此处<P>和表单<form 都不是最重要的。

表单的作用大家可以看一下,这里get和post的区别就不用多说,相信各位很熟练了。

关键代码:

 <input class="xssr_in" type="text" maxlength="20" name="message" />

 HTML input 标签 | 菜鸟教程

input详解在这里,class是对于JavaScript里的类名,type=text是表明传入内容格式,类似的还有我们常见的password等,maxlength这里限制传入长度,是为了防止我们传入xss,但是前端嘛,懂得都懂,name=“”就是这个文本框的名字。

那么和我们sql或者命令执行思想类似,我们此处可以利用的就是此处不严谨的过滤,使我们传入的xss命令可以执行。

这是一个简单的xss命令:<script>alert("xss")</script>

执行成功时他会弹出一个弹窗,内容是xss

如果我们传入这么一个命令并尝试像反序列化逃逸那样做,内容就会从原本的这样:

<input class="xssr_in" type="text" maxlength="20" name="message" />

变为:

<input class="xssr_in" type="text" maxlength="50" name=“kobe"><script>alert("xss")</script>” />

这里我用颜色区分后,大家就会发现这句话已经被我们分为了两个命令,且我们传入的内容得到了执行:

<input class="xssr_in" type="text" maxlength="20" name=“kobe">

<script>alert("xss")</script>

" />

 这里要引用我看的这篇博客很帅的一句话,可恶被他装到了:

当然,这里补充,有人可能疑惑,传入<script>这么一个标签除了弹窗又有什么用呢

我想,已经不必我多说他的危害了。

第二关,反射性xss(post)

这里看到提示,登录看cookie:

 这里有四个cookie:

点击查看发现我们的账号密码都泄露在了cookie里,直接传入xss代码发现可以直接利用,

 

此处应该科普意义比较大:

Pikachu第二弹:XSS_反射型xss post请求-CSDN博客

 

注意,反射型都是非持久型,也就是每次点击只触发一次

 

第三关,存储型xss

存储型XSS简介-CSDN博客

 输入123,再输入命令,发现直接弹窗,后面每一次点击无论输入与否,都会弹窗,说明这段代码已经传入了服务器。

第四关,DOM型xss

 

 DOM(文档对象模型)学习_dom教程-CSDN博客

直接输入命令肯定是不行的:

 

查看源码,发现提示:

按照提示复制进去,点击what do you see,成功弹窗

 

这里主要是dom的作用,我们的输入被dom捕获了,输入值赋予给了标签<a>中的herf:

这里可见构成了xss漏洞,而dom是前端解析,不会传入服务器 ,直接用他的两个payload就行了。

第五关,DOM型xss-x

随便输入abc后,发现出了两个链接

 

查看源码:

 发现和刚才类似:

这里输入的abc还是到了herf里,但是变成了#

然后这里 点击随风后会直接访问当前目录下的herf文件

 

再次使用刚才的命令:

发现闭合已经产生了 ,a标签被闭合,onclick执行成功。

 

 

 第六关,xss盲打

 

发现成功看到传入数据,而我们回到前端发现并没有,这证明这个界面只有管理员可以查看,

那么我们再试试传入xss命令,发现执行成功。

 

还是科普意义较大:

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_pikachu靶场xss后台-CSDN博客

 第七关,xss之过滤

 

发现输入内容被加入'进行解释,但是好像和永恒之蓝犯的错误相似了。

再试试别的符号:<>,.<script>/?;:'"[{]}\|alert被过滤,,.<>/?;:'"[{]}\|,可以通过

试了一下,<script>被过滤掉了,考虑双写或者大小写混写,双写不行,大小写混写通过:

第八关,xss之htmlspecialchars

 

那就看嘛:PHP htmlspecialchars() 函数

 

 

这里我也有点云里雾里,但是明白了<>应该是不可以的,

输入123,发现是老样子:

 我们输入原本的命令,发现并不能执行:

 

那么我们测试一下他的预设字符:&'><"

发现都被转换,只剩下了'

试一下别人wp里的命令:

XXX' onclick='alert(666)'

看源码:<a href="XXX" οnclick="alert(666)" '="">XXX' οnclick='alert(666)'</a> 

 发现传入后,XXX的' 闭合了herf的赋值,

我们输入'

<a href="" '="">'</a>

输入''

<a href="" ''="">''</a>

输入132'

<a href="123" '="">123'</a>

输入123' 123

<a href="123" 123'="">123' 123</a>

发现很奇妙的产生了闭合且'后的内容变成了一个类

123'132'

<a href="123" 132''="">123'132'</a>

最后验证出来:13'13='1'

<a href="13" 13="1" '="">13'13='1'</a>

就这样我们明白了大致的运行原理

第九关,xss之href输出

还是f12看一下:

<a href="127.0.0.1"> 阁下自己输入的url还请自己点一下吧</a>

<a>标签的 href 属性用于指定超链接目标的 URL。 

我们输入<script>的命令

我们右键源码发现:括号什么都被注释过了,

 这里我发现别人居然有注释:

那么我们就搜索一下JavaScript协议执行xss: javascript:alert(document.cookie)

 第十关,xss之js输出

 

 

发现直接执行了 ,且插在了script里,这里我发现有两种做法,一个是直接注释这个句子:

皮卡丘xss之htmlspecialchars、xss之href输出、xss之js输出_htmlspecialchars js调用-CSDN博客

';alert(1);//

 

另一个也是注释,只不过还闭合了script

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_pikachu靶场xss后台-CSDN博客

x'</script><script>alert('xss')</script>

今天的XSS环节就到此结束了,我也没想到有十关,我的饭还送错位置了呜呜,送到寝室了,我在实验室啊= =

那么今天就到这里吧,

这里是很菜的WL,希望我的内容能帮到你

我们下一集再见!

  • 29
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值