Pikachu之Cross-Site-Scripting

1.反射型xss(get)

发现输入什么就返回什么

直接上

长度不够,无法输入完整

修改输入框的长度为1000

修改后输入得到

改为输入<script>alert(document.cookie)</script>

得到

2.反射型xss(post)

点一下提示知道账号密码

这里是改为post了

继续尝试<script>alert(document.cookie)</script>

发现依旧可行

3.存储型xss

尝试留言,发现什么都没有

试用<script>alert(/xss/)</script>,发现留言列表多了个删除

改为<script>alert(document.cookie)</script>尝试一下,发现直接出来了

因为是存储型的,在重新打开网站点到这个题是,它直接弹出cookie了

4.DOM型xss

试一下

尝试原来的方法,发现还是不行

查看源码元素,发现有东西

尝试后面那个' οnclick="alert(‘xss’)">

再改一下尝试' οnclick="alert(document.cookie)">

5.dom型xss-x

都是dom型尝试' οnclick="alert(document.cookie)">

发现可行

6.xss之盲打

尝试一下看有什么结果

发现只有一个谢谢参与,阁下的看法我们已经收到!

查看一下源码也没发现什么,看提示说要登录

跟着账号密码执行登录

登录后发现

多次确定后,停留在这里,没什么发现

由于后台内容和name都有记录,尝试用<script>alert(document.cookie)</script>

发现没什么

这时候登录后台看看有什么结果,发现登录后就出现了

再换一下前后

没有结果,就登录后台,它也是出来了

说明两个输入框都有xss漏洞

7.xss之过滤

因为是只有一个输入框,类似前面的,尝试<script>alert(document.cookie)</script>

发现不行

看题目和提示可以知道,它对一下东西是有过滤的,尝试一下绕后

斜杠替换:<script>alert(/document.cookie/)</script>

Prompt替换:<script>prompt(/document.cookie/)</script>

Confirm替换:<script>confirm(/document.cookie/)</script>

大小写替换:<ScRiPt>AlErT(/document.cookie/)</sCrIpT>

等等各种尝试没通过

当试到' οnclick="alert(document.cookie)">发现原原本本的返回出来

判断这个方向有猫腻

最后发现<a herf="#" οnclick="alert(document.cookie)">可以

8.xss之htmlspecialchars

先去查一下htmlspecialchars这个方法的含义

htmlspecialchars()函数:把预定义的字符转换为 HTML 实体

语法:htmlspecialchars(string,flags,character-set,double_encode)

预定义的字符:

&:转换为&

":转换为"

':转换为成为 '

<:转换为<

>:转换为>

尝试<script>alert(document.cookie)</script>

发现不行,查看源码,发现<script>alert(document.cookie)</script>

被转换成<script>alert(document.cookie)</script>

应该就是被htmlspecialchars()函数转换了

我们已经查看了预定义的字符的转换,单引号其实是也会被转换的,但实际好像没有

所以通过#' οnclick='alert(document.cookie)'尝试一下

发现可以

9.xss之href输出

尝试<script>alert(1)</script>,啥也没有

看源码知道依旧有符号被编码了

试用#' οnclick='alert(document.cookie)'发现也被编码

查看提示,看<a>的href属性,查看资料知道href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。

我们要获取cookie,2和3不行,试用4,javascript:alert(document.cookie)就可以获取了

10.xss之js输出

试用<script>alert(document.cookie)</script>发现什么都没有,查看源码发现有问题

这里显示错误,提示说输入被动态的生成到了javascript中只要无中生有出一个js语句,首先要用’;闭合掉当前的语句,然后插入新语句,然后再用//注释掉老语句遗留下来的’;

输入';alert(document.cookie);//进行submit

  • 27
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值