在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ecology相關(guān)的挖掘思路

哆啦安全 ? 來(lái)源:哆啦安全 ? 2023-09-14 16:49 ? 次閱讀

前段時(shí)間 ecology 密集發(fā)布了一系列補(bǔ)丁,修復(fù)幾個(gè)筆者之前儲(chǔ)備的 0day,本文就來(lái)介紹其中一個(gè)列比較有意思的,以及分享一下相關(guān)的挖掘思路。


背景

最近幾個(gè)月筆者都在研究 Java Web 方向,一方面是工作職責(zé)的調(diào)整,另一方面也想挑戰(zhàn)一下新的領(lǐng)域。對(duì)于漏洞挖掘而言,選擇一個(gè)具體目標(biāo)是非常重要的,經(jīng)過(guò)一段時(shí)間供應(yīng)鏈和生態(tài)的學(xué)習(xí)以及同事建議,兼顧漏洞挖掘難度和實(shí)戰(zhàn)效果選擇了 ecology OA作為第一個(gè)漏洞挖掘的目標(biāo)。

代碼審計(jì)

雖然本文介紹的是 Fuzzing,但之前也說(shuō)過(guò)很多次,自動(dòng)化漏洞挖掘只能作為一種輔助手段,是基于自身對(duì)代碼結(jié)構(gòu)的理解基礎(chǔ)上的提效方式。

在真正開(kāi)始挖漏洞之前,筆者花了好幾周的時(shí)間去熟悉目標(biāo)的代碼,并且對(duì)一些不清晰的動(dòng)態(tài)調(diào)用去進(jìn)行運(yùn)行時(shí)分析,最終才能在 20G 代碼之中梳理出大致的鑒權(quán)和路由流程。

通過(guò)分析 JavaEE 應(yīng)用注冊(cè)的路由,注意到其中一個(gè)映射:

ServletMapping[url-pattern=/services/*,name=XFireServlet]^/services(?=/)|^/servicesz]

其對(duì)應(yīng)的類(lèi)為org.codehaus.xfire.transport.http.XFireConfigurableServlet:

<servlet>
<servlet-name>XFireServletservlet-name>
<display-name>XFireServletdisplay-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServletservlet-class>
servlet>
<servlet-mapping>
<servlet-name>XFireServletservlet-name>
<url-pattern>/services/*url-pattern>
servlet-mapping>

XFire 考古

XFire[1]并不是 ecology 自己的業(yè)務(wù)代碼,而是一個(gè) SOAP Web 服務(wù)框架,它是作為 Apache Axis 的有效替代方案而開(kāi)發(fā)的。除了通過(guò)使用 StAX 實(shí)現(xiàn)良好性能的目標(biāo)外,XFire 的目標(biāo)還包括通過(guò)各種插件機(jī)制實(shí)現(xiàn)靈活性,API 的直觀(guān)操作以及與通用標(biāo)準(zhǔn)的兼容性。此外 XFire 非常適合集成到基于 Spring Framework 的項(xiàng)目中。

值得一提的是,XFire 目前已經(jīng)不再進(jìn)行開(kāi)發(fā),其官方繼任者是Apache CXF[2]

XFire 的用法比較簡(jiǎn)單,首先在META-INF/xfire/services.xml中定義需要導(dǎo)出的服務(wù),比如:

"1.0"encoding="UTF-8"?>

<beansxmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>WorkflowServicename>
<namespace>webservices.services.weaver.com.cnnamespace>
<serviceClass>weaver.workflow.webservices.WorkflowServiceserviceClass>
<implementationClass>weaver.workflow.webservices.WorkflowServiceImplimplementationClass>
<serviceFactory>org.codehaus.xfire.annotations.AnnotationServiceFactoryserviceFactory>
service>
beans>

這樣weaver.workflow.webservices.WorkflowService就被認(rèn)為是導(dǎo)出服務(wù)。

可以直接被客戶(hù)端進(jìn)行調(diào)用。調(diào)用方式主要是通過(guò) SOAP 請(qǐng)求到 XFireServlet,例如調(diào)用上述服務(wù)可以發(fā)送 POST 請(qǐng)求到/services/WorkflowService:

"1.0"encoding="UTF-8"?>
<Body>
<getUserId>
 <p>evilpanp>
 <p>2333p>
getUserId>
Body>

表示以指定參數(shù)調(diào)用服務(wù)的getUserId方法。

SQL 注入

接下來(lái)回到漏洞本身,WorkflowService 服務(wù)的具體實(shí)現(xiàn)為WorkflowServiceImpl,例如其中的 getUserId 就是服務(wù)導(dǎo)出的一個(gè)方法,其具體實(shí)現(xiàn)為:

@Override
publicStringgetUserId(Stringvar1,Stringvar2){
if(Util.null2String(var2).equals("")){
return"-1";
}elseif(Util.null2String(var1).equals("")){
return"-2";
}else{
RecordSetvar3=newRecordSet();
var3.executeQuery("selectidfromHrmResourcewhere"+var1+"=?andstatus<4?",var2);
return!var3.next()?"0":Util.null2s(var3.getString("id"),"0");
}
}

可以看到,一個(gè)教科書(shū)式的 SQL 注入就已經(jīng)找到了。

Service 鑒權(quán)

現(xiàn)在漏洞點(diǎn)找到了,觸發(fā)路徑也找到了,可實(shí)際測(cè)試的時(shí)候發(fā)現(xiàn)這個(gè)接口有些特殊的鑒權(quán),其鑒權(quán)邏輯為判斷請(qǐng)求地址是否是內(nèi)網(wǎng)地址,如果是的話(huà)就放行。

考慮到很多系統(tǒng)是集群部署的,且前面有一層或者多層負(fù)載均衡,因此實(shí)際請(qǐng)求服務(wù)的可能是經(jīng)過(guò)反向代理的請(qǐng)求,此時(shí)客戶(hù)端的真實(shí) IP 只能通過(guò)X-Forward-For等頭部獲取。

這本來(lái)無(wú)可厚非,但是 HTTP 請(qǐng)求頭是可以被攻擊者任意設(shè)置的,因此 ecology 在此基礎(chǔ)上進(jìn)行了復(fù)雜的過(guò)濾,精簡(jiǎn)后的偽代碼如下:

privateStringgetRemoteAddrProxy(){
Stringip=null;
StringtmpIp=null;
tmpIp=this.getRealIp(this.request.getHeaders("RemoteIp"),ipList);
if(ip==null||ip.length()==0||"unknown".equalsIgnoreCase(ip)){
ip=tmpIp;
}
booleanisInternalIp=IpUtils.internalIp(ip);
if(isInternalIp){
ipList.add(this.request.getRemoteAddr());
tmpIp=IpUtils.getRealIp(ipList);
if(!IpUtils.internalIp(tmpIp)){
ip=tmpIp;
}
}

returnip!=null&&ip.length()!=0&&!"unknown".equalsIgnoreCase(ip)?ip:null;
}

IpUtils#internalIp的判斷更為復(fù)雜,連byte[]都出來(lái)了:

publicstaticbooleaninternalIp(Stringip){
if(ip!=null&&!ip.equals("127.0.0.1")&&!ip.equals("::1")&&!ip.equals("0000:1")){
if(ip.indexOf(":")!=-1&&ip.indexOf(":")==ip.lastIndexOf(":")){
ip=ip.substring(0,ip.indexOf(":"));
}

byte[]addr=(byte[])null;
if(isIpV4(ip)){
addr=textToNumericFormatV4(ip.trim());
}else{
addr=textToNumericFormatV6(ip.trim());
}

returnaddr==null?false:internalIp(addr);
}else{
returntrue;
}
}

publicstaticbooleaninternalIp(byte[]addr){
byteb0=addr[0];
byteb1=addr[1];
byteSECTION_1=true;
byteSECTION_2=true;
byteSECTION_3=true;
byteSECTION_4=true;
byteSECTION_5=true;
byteSECTION_6=true;
switch(b0){
case-84:
if(b1>=16&&b1<=?31){
returntrue;
}
case-64:
switch(b1){
case-88:
returntrue;
}
default:
returnfalse;
case10:
returntrue;
}
}

其邏輯是對(duì) getRemoteAddrProxy 取出來(lái)的 IP,如果路徑匹配webserviceList且 IP 匹配webserviceIpList前綴,就認(rèn)為是內(nèi)網(wǎng)地址的請(qǐng)求從而進(jìn)行放過(guò):

webserviceList=[
"/online/syncOnlineData.jsp",
"/services/",
"/system/MobileLicenseOperation.jsp",
"/system/PluginLicenseOperation.jsp",
"/system/InPluginLicense.jsp",
"/system/InMobileLicense.jsp"
];

webserviceIpList=[
"localhost",
"127.0.0.1",
"192.168.",
"10.",
"172.16.",
"172.17.",
"172.18.",
"172.19.",
"172.20.",
"172.21.",
"172.22.",
"172.23.",
"172.24.",
"172.25.",
"172.26.",
"172.27.",
"172.28.",
"172.29.",
"172.30.",
"172.31."
]

根據(jù)上面的代碼,你能發(fā)現(xiàn)鑒權(quán)繞過(guò)的漏洞嗎?

Fuzzing

也許對(duì)代碼比較敏感的審計(jì)人員可以通過(guò)上述鑒權(quán)代碼很快發(fā)現(xiàn)問(wèn)題,但說(shuō)實(shí)話(huà)我一開(kāi)始并沒(méi)有找到漏洞。于是我想到這個(gè)鑒權(quán)邏輯是否能單獨(dú)抽離出來(lái)使用 Fuzzing 的思路去進(jìn)行自動(dòng)化測(cè)試。

之前發(fā)現(xiàn) Java 也有一個(gè)基于 libFuzzer 的模糊測(cè)試框架Jazzer[3],但是試用之后發(fā)現(xiàn)比較雞肋,因?yàn)楹投M(jìn)制程序會(huì)自動(dòng) Crash 不同,Java 的 fuzz 需要自己指定 Sink,令其在觸達(dá)的時(shí)候拋出異常來(lái)構(gòu)造崩潰。

雖然說(shuō)沒(méi)法發(fā)現(xiàn)通用的漏洞,但是對(duì)于現(xiàn)在這個(gè)場(chǎng)景來(lái)說(shuō)正好是絕配,我們可以將目標(biāo)原始的鑒權(quán)代碼摳出來(lái),然后在未授權(quán)通過(guò)的時(shí)候拋出一個(gè)異常即可。構(gòu)建的 Test Harness 代碼如下:

publicstaticvoidfuzzerTestOneInput(FuzzedDataProviderdata){
Stringpoc=data.consumeRemainingAsString();
fuzzIP(poc);
}

publicstaticvoidfuzzIP(Stringpoc){
if(containsNonPrintable(poc))return;
XssRequestWeblogicx=newXssRequestWeblogic();
Stringout=x.getRemoteAddr(poc);
booleancheck2=check2(out);
if(check2){
thrownewFuzzerSecurityIssueHigh("FoundIP["+poc+"]");
}
}

publicstaticbooleancheck2(Stringipstr){
for(Stringip:webserviceIpList){
if(ipstr.startsWith(ip)){
returntrue;
}
}
returnfalse;
}

其中精簡(jiǎn)了一些 ecology 代碼中讀取配置相關(guān)的依賴(lài),將無(wú)關(guān)的邏輯進(jìn)行手動(dòng)剔除。

編譯好代碼后,使用以下命令開(kāi)始進(jìn)行 fuzz:

$./jazzer--cp=target/Test-1.0-SNAPSHOT.jar--target_class=org.example.App

不多一會(huì)兒,就已經(jīng)有了一個(gè)成功的結(jié)果!

aaffd0a0-5292-11ee-a25d-92fbcf53809c.pngfuzz.png

可以看到圖中給出了127.0.0.10這個(gè) payload,可以觸發(fā) IP 鑒權(quán)的繞過(guò)!反過(guò)來(lái)分析這個(gè) PoC,可以發(fā)現(xiàn)之所以能繞過(guò)是因?yàn)?code style="line-height:1.75;font-size:12.6px;color:rgb(221,17,68);background:rgba(27,31,35,.05);padding:3px 5px;">webserviceIpList只檢查了前綴,而127.0.0.10可以在internalIp返回False,即認(rèn)為不是內(nèi)部 IP,但實(shí)際上 webserviceIpList 卻認(rèn)為是內(nèi)部 IP,從而導(dǎo)致了繞過(guò)。

如果只是從代碼上去分析的話(huà),可能一時(shí)半會(huì)并不一定能發(fā)現(xiàn)這個(gè)問(wèn)題,可是通過(guò) Fuzzing 在覆蓋率反饋的加持下,卻可以在幾秒鐘之內(nèi)找到正解,這也是人工審計(jì)無(wú)法比擬的。

漏洞補(bǔ)丁

通過(guò) IP 的鑒權(quán)繞過(guò)和 XFire 組件的 SQL 注入,筆者實(shí)現(xiàn)了多套前臺(tái)的攻擊路徑,并且在 HW 中成功打入多個(gè)目標(biāo)。因?yàn)楫?dāng)時(shí)提交的報(bào)告中帶了漏洞細(xì)節(jié),因此這個(gè)漏洞自然也就被官方修補(bǔ)了。如果沒(méi)有公開(kāi)的話(huà)這個(gè)洞短期也不太會(huì)被撞到。

漏洞修復(fù)的關(guān)鍵補(bǔ)丁如下:

diff--gita/src/weaver/security/webcontainer/IpUtils.javab/src/weaver/security/webcontainer/IpUtils.java
index6b3d8efc..e7482511100644
---a/src/weaver/security/webcontainer/IpUtils.java
+++b/src/weaver/security/webcontainer/IpUtils.java
@@-48,12+48,16@@publicclassIpUtils{
}

publicstaticbooleaninternalIp(Stringip){
-if(ip!=null&&!ip.equals("127.0.0.1")&&!ip.equals("::1")&&!ip.equals("0000:1")){
+if(ip==null||ip.equals("127.0.0.1")||ip.equals("::1")||ip.equals("0000:1")){
+returntrue;
+}elseif(ip.startsWith("127.0.0.")){
+returntrue;
+}else{
if(ip.indexOf(":")!=-1&&ip.indexOf(":")==ip.lastIndexOf(":")){
ip=ip.substring(0,ip.indexOf(":"));
}

其中把 equals 換成了 startsWith,并且還過(guò)濾了我們之前使用的 WorkflowService 組件。當(dāng)然還是沿襲 ecology 一貫的漏洞修復(fù)原則,不改業(yè)務(wù)代碼,只增加安全校驗(yàn),這也是對(duì)歷史遺留問(wèn)題的一種妥協(xié)吧。

總結(jié)

  • ?對(duì)于 Java 這樣的內(nèi)存安全編程語(yǔ)言也是可以 fuzz 的,只不過(guò)目的是找出邏輯漏洞而不是內(nèi)存破壞;

  • ?漏洞挖掘初期花時(shí)間投入到代碼審計(jì)中是有必要的,有助于理解項(xiàng)目整體結(jié)構(gòu)并在后期進(jìn)行針對(duì)性覆蓋;

  • ?漏洞挖掘的時(shí)候重點(diǎn)關(guān)注邊界的系統(tǒng)和服務(wù),處于信任邊界之外的組件更有可能過(guò)于信任外部輸入導(dǎo)致安全問(wèn)題;

  • ?對(duì)于看起來(lái)很復(fù)雜的數(shù)據(jù)處理模塊,可以充分利用 Fuzzing 的優(yōu)勢(shì),幫助我們快速找出畸形的 payload;

  • ?模塊化 Fuzzing 的難點(diǎn)在于抽離代碼并構(gòu)建可編譯或者可以獨(dú)立運(yùn)行的程序,即構(gòu)建 Test Harness,跑起來(lái)測(cè)試用例你就已經(jīng)成功了 90%;

  • ?軟件開(kāi)發(fā)和漏洞挖掘正好相反。開(kāi)發(fā)者會(huì)出于厭惡情緒刻意避開(kāi)復(fù)雜的歷史遺留代碼,而這些代碼卻是更可能出現(xiàn)問(wèn)題的地方。因此安全研究員要學(xué)會(huì)克服自己的厭惡情緒,做到 —— “明知山有屎,偏向屎山行”。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 自動(dòng)化
    +關(guān)注

    關(guān)注

    29

    文章

    5754

    瀏覽量

    82300
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1955

    瀏覽量

    36274
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4891

    瀏覽量

    70358

原文標(biāo)題:總結(jié)

文章出處:【微信號(hào):哆啦安全,微信公眾號(hào):哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    云計(jì)算數(shù)據(jù)挖掘

    想要自學(xué)云計(jì)算和數(shù)據(jù)挖掘想問(wèn)下這些方面有哪些內(nèi)容該從何開(kāi)始求大神們指教謝謝
    發(fā)表于 04-19 00:07

    靈玖軟件:NLPIR智能挖掘系統(tǒng)專(zhuān)注中文處理

    ,C#等各類(lèi)開(kāi)發(fā)語(yǔ)言使用。  隨著云計(jì)算、移動(dòng)互聯(lián)網(wǎng)以及物聯(lián)網(wǎng)等技術(shù)的發(fā)展和完善,相信大數(shù)據(jù)在各個(gè)領(lǐng)域的應(yīng)用會(huì)越來(lái)越廣泛和深入,相關(guān)的研究也會(huì)越來(lái)越全面和深入,在信息管理領(lǐng)域,綜合應(yīng)用數(shù)據(jù)挖掘技術(shù)和人工智能技術(shù),獲取用戶(hù)知識(shí)、文獻(xiàn)知識(shí)等各類(lèi)知識(shí),將是實(shí)現(xiàn)知識(shí)檢索和知識(shí)管理
    發(fā)表于 01-21 11:39

    AlphaFuzzer漏洞挖掘工具的使用

    AlphaFuzzer是一款多功能的漏洞挖掘工具,到現(xiàn)在為止,該程序以文件格式為主。1.0版本主要包含了:一個(gè)智能文件格式的漏洞挖掘框架。一個(gè)通用文件格式的fuzz模塊。此外,他還包含了一個(gè)ftp服務(wù)器程序的fuzz模塊。一個(gè)程序參數(shù)的fuzz模塊。一些shellcode
    發(fā)表于 07-15 06:44

    數(shù)據(jù)挖掘算法有哪幾種?

    針對(duì)現(xiàn)有數(shù)據(jù)挖掘體系結(jié)構(gòu)松散揭合、算法運(yùn)行效率不高的問(wèn)題,提出了嵌入式數(shù)據(jù)挖掘模型。該模型實(shí)現(xiàn)了算法的組件化管理,并將整個(gè)數(shù)據(jù)挖掘流程控制在數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)中,在簡(jiǎn)化數(shù)據(jù)挖掘過(guò)程的同時(shí)
    發(fā)表于 03-11 06:36

    數(shù)據(jù)挖掘之基于關(guān)聯(lián)挖掘的商品銷(xiāo)售分析

    數(shù)據(jù)挖掘:基于關(guān)聯(lián)挖掘的商品銷(xiāo)售分析
    發(fā)表于 06-09 08:32

    機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘方法和應(yīng)用

    機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘方法和應(yīng)用(經(jīng)典)
    發(fā)表于 09-26 07:56

    數(shù)據(jù)挖掘淺析

    摘要:主要介紹了數(shù)據(jù)挖掘的產(chǎn)生、發(fā)展、定義和任務(wù),討論了常用的挖掘方法和工具,最后舉例介紹了數(shù)據(jù)挖掘的一些應(yīng)用.關(guān)鍵詞:數(shù)據(jù)挖掘;知識(shí)發(fā)現(xiàn);決策樹(shù) Abstract:Th is
    發(fā)表于 01-08 21:23 ?12次下載

    關(guān)聯(lián)規(guī)則挖掘在數(shù)據(jù)錄入、校對(duì)系統(tǒng)中的應(yīng)用

    本文介紹了關(guān)聯(lián)規(guī)則挖掘在數(shù)據(jù)錄入、校對(duì)系統(tǒng)的設(shè)計(jì)思路、體系結(jié)構(gòu)和實(shí)現(xiàn)要點(diǎn)。關(guān)鍵詞:數(shù)據(jù)挖掘;關(guān)聯(lián)規(guī)則;關(guān)聯(lián)規(guī)則參照表數(shù)據(jù)的準(zhǔn)確錄入和高效的校對(duì)是各行業(yè)的產(chǎn)
    發(fā)表于 09-03 11:55 ?6次下載

    怎么學(xué)習(xí)數(shù)據(jù)挖掘_如何系統(tǒng)地學(xué)習(xí)數(shù)據(jù)挖掘

    數(shù)據(jù)挖掘工程師多是通過(guò)對(duì)海量數(shù)據(jù)進(jìn)行挖掘,尋找數(shù)據(jù)的存在模式,從而通過(guò)數(shù)據(jù)挖掘來(lái)解決具體問(wèn)題。其更多是針對(duì)某一個(gè)具體的問(wèn)題,是以解決具體問(wèn)題為導(dǎo)向的。
    發(fā)表于 12-31 12:41 ?4934次閱讀

    代碼實(shí)例及詳細(xì)資料帶你入門(mén)Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)

    本文結(jié)合代碼實(shí)例待你上手python數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)技術(shù)。 本文包含了五個(gè)知識(shí)點(diǎn): 1. 數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)技術(shù)簡(jiǎn)介 2. Python數(shù)據(jù)預(yù)處理實(shí)戰(zhàn) 3. 常見(jiàn)分類(lèi)算法介紹 4. 對(duì)鳶尾花進(jìn)行分類(lèi)案例實(shí)戰(zhàn) 5. 分類(lèi)算法
    的頭像 發(fā)表于 03-03 10:10 ?3617次閱讀

    淺析嵌入式數(shù)據(jù)挖掘模型應(yīng)用到銀行卡業(yè)務(wù)中的相關(guān)知識(shí)

    數(shù)據(jù)挖掘就是從存放在數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)或者其他信息庫(kù)中的大量數(shù)據(jù)中挖掘有趣知識(shí)的過(guò)程。它是在多種數(shù)據(jù)存儲(chǔ)方式的基礎(chǔ)上,借助有效的分析方法和工具,從傳統(tǒng)的事務(wù)型數(shù)據(jù)庫(kù)功能(增加、刪除、修改、查詢(xún)、統(tǒng)計(jì)等
    發(fā)表于 05-15 16:31 ?1105次閱讀
    淺析嵌入式數(shù)據(jù)<b class='flag-5'>挖掘</b>模型應(yīng)用到銀行卡業(yè)務(wù)中的<b class='flag-5'>相關(guān)</b>知識(shí)

    成為數(shù)據(jù)挖掘工程師有哪些要求

    計(jì)算機(jī)、統(tǒng)計(jì)學(xué)等相關(guān)專(zhuān)業(yè),具有深厚的統(tǒng)計(jì)學(xué)、數(shù)學(xué)、數(shù)據(jù)挖掘知識(shí),熟悉數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)挖掘相關(guān)技術(shù);
    的頭像 發(fā)表于 06-09 17:24 ?6018次閱讀

    某CMS的命令執(zhí)行漏洞通用挖掘思路分享

    大概是在上半年提交了某個(gè)CMS的命令執(zhí)行漏洞,現(xiàn)在過(guò)了那么久,也想通過(guò)這次挖掘通用型漏洞,整理一下挖掘思路,分享給大家。
    的頭像 發(fā)表于 05-18 17:18 ?3730次閱讀
    某CMS的命令執(zhí)行漏洞通用<b class='flag-5'>挖掘</b><b class='flag-5'>思路</b>分享

    數(shù)據(jù)挖掘定義及方法 數(shù)據(jù)挖掘在微電子領(lǐng)域的應(yīng)用

    制造中的數(shù)據(jù)挖掘流程示意圖,并用主成分分析法分析產(chǎn)生異常的原因,最后得出合理的結(jié)論。  數(shù)據(jù)挖掘相關(guān)技術(shù)  1、數(shù)據(jù)挖掘的定義和特點(diǎn)  數(shù)據(jù)挖掘
    發(fā)表于 07-18 15:43 ?0次下載

    機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘的區(qū)別 機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘的關(guān)系

    機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘的區(qū)別 , 機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘的關(guān)系 機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘是如今熱門(mén)的領(lǐng)域。隨著數(shù)據(jù)規(guī)模的不斷擴(kuò)大,越來(lái)越多的人們認(rèn)識(shí)到數(shù)據(jù)分析的重要性。但是,機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘在實(shí)踐
    的頭像 發(fā)表于 08-17 16:30 ?2506次閱讀
    主站蜘蛛池模板: 在线天堂资源www中文在线 | 国产乱码精品一区二区三 | 曰本又色又爽又黄三级视频 | 日本不卡视频免费 | 黄色大片在线免费观看 | 国产乱辈通伦影片在线播放 | 手机免费看a | 人人插人人费 | 啪啪网视频| 日本三级香港三级人妇网站 | 日韩 三级 | 激情综合婷婷丁香六月花 | 午夜免费网址 | 国产激烈床戏无遮挡在线观看 | 天天噜天天干 | 夜夜春宵翁熄性放纵古代 | 欧美性白人极品1819hd | 午夜美女网站 | 毛片毛片 | 色婷婷资源网 | 五月婷婷啪啪 | www.亚洲成在线 | 激情性爽三级成人 | 四虎国产精品永久地址51 | 天天爱天天做天天爽夜夜揉 | 亚洲一区二区三区免费在线观看 | 一区二区三区在线观看免费 | 色妞视频资源在线观看 | 欧美成人福利 | 中文字幕一区二区视频 | www.久久精品视频 | 亚洲一区二区视频 | 在线视频一区二区三区 | 激情综合激情五月 | 亚洲资源在线播放 | 国产三级在线看 | 色狠狠狠色噜噜噜综合网 | av在线色 | 色噜噜狠狠狠综合曰曰曰 | 99久久999久久久综合精品涩 | 国产人成精品香港三级古代 |