记一次有趣的XSS误报

发布时间 2023-09-23 20:53:29作者: JKding233

这几天更新了burp,就想试试它的漏洞扫描功能,在对http://testphp.vulnweb.com/漏扫时发现一个有趣的误报,遂有了这篇文章

被动代理访问并扫描,结果如下

image-20230923161648645

发现一个灰色标记的XSS结果,复制url浏览器访问却显示的是张图片

image-20230923161835451

为什么会有XSS告警呢?

看看返回包

image-20230923161935811

是一段代码报错,因为xss语句回显所以显示的XSS告警

报错提示No such file or directory in /hj/var/www/showimage.php

意思是没有这个文件,理所当然想到了文件包含

http://testphp.vulnweb.com/showimage.php?file=./showimage.php

结果显示的函数图片

image-20230923162237298

好奇右键下载下来,拖到编辑器里,发现把源码下载下来了

image-20230923162436784

为什么展示为图片,其实响应报文里能看出来,它设置为了Content-Type: image/jpeg

这个就可以下载源代码做一些代码审计了,比如http://testphp.vulnweb.com/AJAX/infoartist.php?id=(select*from(select(sleep(5)))a)有一个SQL注入:

image-20230923162856805

查看源码:

http://testphp.vulnweb.com/showimage.php?file=./AJAX/infoartist.php

image-20230923163022706

<?PHP
	header('Content-type: text/xml');
	require_once("../database_connect.php");
	
	$result = mysql_query("SELECT * FROM artists WHERE artist_id=".$_GET["id"]);
	echo "<iteminfo>";
	if($row = mysql_fetch_array($result)){
		echo "<name>".$row["aname"]."</name>";
		echo "<description>".htmlspecialchars($row["adesc"], ENT_QUOTES)."</description>";
	}
	echo "</iteminfo>";
?>

当然也可以包含database_connect.php文件

image-20230923163335900

如果是一个真实的网站危害很大,挺有意思的记录一下。。。。。。