You are not logged in.
欢迎cnryan同学加入狼族:-)
BY Jackal
http://www.wolvez.org
http://www.delover.net
2009-07-25
在此感谢下黑病毒:)
看跨站的时候出现的一段代码:
demo.php
<?php
$message=$_GET['c'];
echo "<ul><li>".$message."</li>";
if(strpos($message, '[/c]') !== FALSE) {
$message1 = preg_replace("/\[c](.+?)\[\/c\]/is", "\\1", $message);
}
echo "<li>".$message1."</li>";
if(strpos($message, '[/c]') !== FALSE) {
$message2 = preg_replace("/\[c](.+?)\[\/c\]/ies", "parse_c('\\1')", $message);
}
echo "<li>".$message2."</li></ul>";
function parse_c($text) {
return $text;
}
?>提交:demo.php?c=[c]test"[/c]
开启Magic的情况下:
返回数据:
[c]test\"[/c]
test\"
test\\"
最后一个出现了问题.
再来就是跨站了:
<a href=\\"http://delover.net onmouseover=alert(/xss/) \\">Xss</a>
<a href=\"http://delover.net onmouseover=alert(/xss/) \">Xss</a>
用UBB这玩意很容易出现问题.
Offline
沙发我坐着先
Last edited by jackal (2009-07-25 19:43:49)
Offline
http://www.80vul.com/pch/pch-003.txt
可以看下里面关于preg_replace()的部分,就可以清楚产生这个问题的原因了
Offline