关于百度首页的一个小BUG

渗透技巧 2年前 (2022) admin
529 0 0

这算小BUG,无关安全问题,所以就直接写公众号里了。

首先还是先拜读

https://xz.aliyun.com/t/11682

这篇文章介绍了关于<!–<script>的一个特性,用来绕过一个非常困难的XSS题目。我们都知道,对于反射XSS来说,如果反射点在js当中,比如下面这样。

<script>var a = '我是反射点';</script>

我们无需构造那些随着js和反射点增多的复杂payload,只需要简单粗暴的

</script><script>alert(1)</script>

<script>var a = '</script><script>alert(1)</script>';</script>

在一般语言来说,想要突破单引号,只有第二个单引号将其闭合才行,但</script>标签闭合显然优先级比单引号更高,于是上述代码被分割成了三段。

<script>var a = '</script><script>alert(1)</script>';</script>

第一段语法不合格被忽视,因此最终只执行了第二段。

由此衍生出了一个特性,也就是你是无法直接打印</script>字符串的。

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

而<!–<script>可以突破这个限制。

<script>alert('<!--<script>');alert('</script>');</script>

关于百度首页的一个小BUG

因为<!–<script>同样有很高的优先级,它会吞掉最下一个</script>使其失效,如果不加后面alert(‘</script>’);,整个js就会被破坏掉。

关于百度首页的一个小BUG

在源码页面可以看到,原本正常的</script>被视为js代码,完全失效了。

那么这样有什么用呢?通常我们的html页面都是一段script标签,再加一段其他html标签的,如果能在js中插入一段<!–<script>,那么很可能祸害一大堆html代码。

在原文中,就因为该题能控制两个传参,因此将A到B所有的js和html,都当成了反引号引起来的字符串,得以实现XSS。

简化一下就是这样。

<script>var a = '反射点一<!--<script>'+`';</script><img src="反射点二`+alert(1);</script>"><script>var b ='b';</script>

这样实际上等于。

<script>var a = '反射点一<!--<script>'+ `';</script><img src="反射点二`+ alert(1);</script>"><script>var b = 'b';</script>

关于百度首页的一个小BUG


不过这种XSS的办法还是要求使用单引号或者反斜杠突破var a =”的单引号束缚,但即使无法突破,我们还是可以拿<!–<script>去祸害一下各种网站,看它们是否对<!–<script>进行了额外处理。

比如百度首页,搜索<!–<script>是这样的。

关于百度首页的一个小BUG

再点一下左边的蓝色百度一下会变成这样。

关于百度首页的一个小BUG很显然,两种排版都出问题了,我们查看网页源代码。

关于百度首页的一个小BUG

<!–<script>被插入到js当中,这代表着它吞掉了很多的代码。如下,很多标签都没有高亮,意味着它们被当成了错误的js代码。

关于百度首页的一个小BUG

当然,百度还是将单引号反斜杠正斜杠都转义了,这意味着我们无法实现XSS。

考虑到现在就连CTF都几乎没有XSS了,实战中更不可能遇上这么苛刻的东西,所以这似乎又是个没有卵用的文章。


结尾也给一个简单的小题,是我在实战中碰上的一种XSS绕过情况。

<html><body><?php$a = $_GET['a'];$a = str_replace("'","'",$a);$a = str_replace("<","&lt;",$a);$a = str_replace(">","&gt;",$a);?><script type="text/javascript">if('<?php echo $a;?>' != ''){    var a = '<?php echo $a;?>';}</script></body></html>

有兴趣的自己搭建试一试。

原文始发于微信公众号(珂技知识分享):关于百度首页的一个小BUG

版权声明:admin 发表于 2022年9月15日 下午2:59。
转载请注明:关于百度首页的一个小BUG | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...