Ricky Hao

WeChall 之 Yourself PHP

这次的XSS不在username上,而是在PHP_SELF这个参数上。
$_SERVER[’PHP_SELF’]在开发的时候常会用到,一般用来引用当前网页地址,并且它是系统自动生成的全局变量。
在源码中:

echo sprintf('', $_SERVER['PHP_SELF']).PHP_EOL;

这句话的意思是,将这个表格提交给“自身”(当前php文件)。
而在这里,对于$_SERVER['PHP_SELF']没做过滤。使得我们可以通过人为闭合form语句,然后再构造XSS来达成目的。

">alert(1);

上面的就是我们使用的Payload。
将其添加在网址后面:

http://www.wechall.net/challenge/yourself_php/index.php/">alert(1);

就可以了。
可能需要URLencode一下。

参考资料:$_SERVER[’PHP_SELF’]跨站脚本攻击

点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据