2018年7月10日 星期二

三大程式語言的數組越界訪問

三大程式語言的數組越界訪問



C語言的數組越界訪問




有學過C語言的很容易就直接看出來,能夠抽取到陣列以外的東西。

問題是,陣列以外的到底有什麼東西,是零嗎?

不對,我們來使用OllyDbg看看




看堆疊,很明顯

我們輸入數字: 4

輸入段分析:

mov     dword ptr ss:[esp+0x4], eax

在scan內 有&a 指向a這塊記憶體區塊

推測eax就是我們輸入的東西

esp+4 內部數值是位址,這個位址內存放的就是我們輸入的數值

&a 意思就是指向a這塊記憶體

存放入堆疊




再來看流程分析一下,


mov     edx, dword ptr ss:[esp+eax*4+0x10]

這段組合語言是重點,就是取得陣列之外的東西




這段就是輸出。


輸出了陣列外面的堆疊內容,可以利用這樣的弱點進行竊取對方電腦記憶體內容。



Java語言的數組越界訪問

在java內,用java api實現想要的內容,但是一般的電腦都用C語言為底層架構,並不是Jvm相關架構,因此java編譯後,需要在Jvm上面才能執行。





在這邊我就不多提了,有學過Java的很清楚,小編我要表達的是什麼。

利用第二個陣列長度去執行迴圈,取出第一個的陣列內部所有內容。
當長度超過第一個陣列長度,java還是一樣能編譯成功,但執行後,會報錯。

Java有出錯回饋,捨去掉了記憶體外洩的風險。

小編的程式碼有寫了try catch的命令,各位可以把try catch關鍵字拿掉,看看編譯執行後,會出現什麼樣的情形。



Python 數組越界訪問




Python有索引值報錯,不構成記憶體洩漏。

另外,也可以這樣寫。



這樣同樣也會報錯。



這些都是同樣描述數組越界訪問的概念。


Java與Python都有設定好錯誤處理
C語言不會有報錯,直接可以進行竊取記憶體內部資料。






By  藍雪科技-Sibe



有著作權,請勿任意轉載。若要分享,請註明本篇來源。






2018年6月16日 星期六

Heliohost網域轉Freenom網域

關於Heliohost網域轉Freenom網域



最近小編架網站和論壇,遇到了Heliohost這個網站,聽說網站很ok。

於是,小編嘗試了這個網域,剛開始順順的,認證服務穩定,網域轉換稍微要有耐心。


網路上的確有教學,按照教學做,只有一個網站的確成功架起來。

隔了兩天,小編上線一看,帳號無法正常登入,反應變得很遲鈍,感覺主機空間好像被攻擊了一樣。

網域已經轉換到freenom了,小編的頂級網域是免費的一年份,時間到了需要免費續約。

但是不巧的是,一時有點急用,對方主機卻給我當機,有時候網站又恢復,有時候卻直接掛掉。

網站特別不穩定,功能好像也沒有特別完善,DNS的設定完全找不到,網路上只有一篇教學,教學的東西也近乎過時,一些對新手來說的重要功能也完全被改變,台灣好像也沒有針對網域做特別的文章解說,不知道是不會,還是會的不教,還是一看到英文根本就懶得去做了???

小編看到了一些情況,直接點出問題好了。

Google搜尋: freenom

完全抄襲。

一篇po文,各篇抄襲。




接下來

Google搜尋: heliohost freenom 網域

前3篇,完全符合這個原則: 一篇po文,各篇抄襲。


後來的各篇,只有唯一的一篇是有仔細說明的,但是已經過時了,Heliohost裡面的功能早已經被改變了,新手要學習,也幾乎只能看英文,不然沒得學架站!!!








目前新手只能依靠維基百科無窮盡的搜尋學習,其他翻來翻去只有英文教學,10篇網域轉換教學都是4年前的文章,這10篇中,只有1篇是中文教學,而且這個中文教學也是過時的,毫無實用性可言。


一些新手學架站和架論壇,小編認為,目前的爬文絕對沒有效果,反而更增進新手對陌生環境的打擊心,學習爬英文文章是的確有好處,可是當你急用的時候,你連網站設定都來不及了,還會有什麼時間看英文???


此篇不是教學文章,只是點出新手目前會對這個陌生的地方有很大的困難度。



By  藍雪科技




本文章有著作權,禁止任意轉載。如要分享,請註明本篇來源。
一旦有人舉報或抄襲本篇,本小編立刻以法律途徑解決。



2018年6月1日 星期五

python 3 抓取網頁(解決編碼問題) (獨家)

python 3 抓取網頁原始碼(解決編碼問題)


看了網路上的一堆資料,已經乏味,解決方式眾說紛紜,沒有一個是正確的辦法。


以下都是小編實際測試過的

有些人說 encode()有效
實測: 失效

有些人說 decode()有效
實測: 失效

有些人說 utf-8 有效
實測: 失效

有些人說 unicode有效
實測: 失效

有些人說 使用chardet
實測: 失效 (不僅失效,還把小編的預設編碼搞亂)

有些人說 要get_content參數
實測: 失效


漫長的解決道路上,沒有一個是完全有效的做法


後來小編找了一個字串處理
就變成萬用解法

拿Google官網原始碼來示範

這是失效的狀態


==============================================================


拿Google官網原始碼來示範

這是小編親自測試成功的狀態






By 藍雪科技-Sibe


有著作權,請勿轉載。若要分享,請註明本篇來源。





網路的文章 有關python2 與 python3

網路的文章 有關python2 與 python3


本小編在網路查詢時候,一堆網路只有撰寫Python2 的網頁原始碼抓取,卻沒有寫python3的網頁原始碼抓取



從這次開始,本版面會持續教學python3的網頁原始碼教學,但不會在網路上公開教學,畢竟目前還沒有人這麼做。

觀察了python3的教學,結果寫了之後,把python2的query全部抄襲,根本不能在電腦中實際執行,而且網路文章,一篇出現,各篇抄襲,最後亂七八糟,毫無頭緒。

所有python2與python3的教學,版本完全混亂!

有些Bug根本無解,網路上也沒有Bug的分析與完全正確的解答!

本小編認為,那些網路教學文章創作者,完全沒有腦袋。

抄襲者也完全不管是不是可以正常運作,然後就一路抄到底。

導致真正要學習的人,完全無解!


這些就是初學者的辛苦!




小編想說,隨便點進去一個文章,發現沒有Python 3的教學

接下來的超連結,完全只有Python 2

Python3教學?   呵呵! 別想!









2018年5月1日 星期二

防毒精簡殺毒解析

防毒精簡殺毒解析

特徵碼殺毒

簡單來說,就是判斷指紋。

幾乎所有防毒公司都有應用,只是產生指紋的方式都不同。

但是一個防毒攜帶的特徵碼太多,會導致防毒的檔案資料過大,資源被消耗。

解決方法: 移除所有特徵碼資料

------------------------------------------------------------------------------------------------------------------------

只保護正常的檔案

只保護使用者產生出來的檔案。檔案可能被嵌入惡意程式碼

解決方法: 如果檔案內含有程式碼,那麼先把程式碼移除

------------------------------------------------------------------------------------------------------------------------

防火牆緩衝區設定過濾

防火牆會佔電腦資源空間。

解決方法: 防火牆的一切設定都必須過濾非合法參數以及任何編碼後的符號,偵測緩衝區的暫存器與記憶體編碼狀態,往內的連線必須3次的合法編碼過濾

------------------------------------------------------------------------------------------------------------------------

惡意網頁挖礦和重定向

載入網頁難免會碰到不正常的非法廣告或非法跳轉。

解決方法: 掃描載入中的網頁原始碼,把js檔案掃描過後放行,不相關的網頁則拒絕執行

------------------------------------------------------------------------------------------------------------------------

沙盒判斷病毒

需要建立一個模擬器,會消耗大量的記憶體空間

解決方法: 不建立模擬器,只載入未知檔案需要調用的API,使用API分辨未知檔案操作了哪些API,來判斷其惡意行為,利用API的方式判斷該API在防毒所屬的編號,把編號集合起來,與雲端API編號做判斷,進而判斷是否為惡意病毒




有著作權,請勿轉載。若要分享,請註明本篇來源。




防毒精簡殺毒

防毒精簡殺毒法

過去的防毒都只有特徵碼與啟發式偵測殺毒,甚至海量的架構指令來偵測病毒。

慢慢的,大部分業者推出雲端掃描法,減低電腦防毒負荷。

筆者認為這些都是一貫的招式。

特徵碼殺毒法,目前業界大部分公司仍然用得到,每間做法都不同。

啟發式殺毒,最具代表性的就是ESET。

雲端掃描法,不僅趨勢科技有這樣的做法,連其他公司都不例外。



我的作法都不是上述如此,而是有另外一招。

可以阻絕大多數的未知病毒,而且讓效能達到最頂尖,不管新舊電腦都適用。

1. 不需要使用任何特徵殺毒
2. 只保護使用者的正常檔案
3. 防火牆緩衝區設定過濾
4. 惡意網頁挖礦和重定向載入防護
5. 引用沙盒分析判斷未知病毒


有著作權,請勿轉載。若要分享,請註明本篇來源。

2018年3月13日 星期二

C語言-寫入組合語言

C語言-寫入組合語言


用Dev-C 做舉例說明

以下程式碼:




熟悉組合語言的人應該都很清楚

用Ollydbg去分析的話,跟這邊有點差異性,OD是從右到左

而devc的asm語法卻是由左到右

簡單分析一下流程

__asm("mov _a, %eax");

定義了 a與b 各等於 1

mov _a, %eax

這邊的eax就是暫存器

而" _a "代表著變數 a


把a的值放入eax暫存器裡面

這樣一條組合語言就結束了



__asm("mov _b, %ebx");


這句也是同樣理解

把b的值放入ebx暫存器裡面


__asm("add %ebx, %eax");


add是"加"的意思,把ebx+eax,將結果放入eax,這邊是2


__asm("mov %eax, _a");

最後一句,把eax的值放入a裡面

把2放入a

最後印出a的值,等於2







有著作權,請勿轉載。若要分享,請註明本篇來源。




Ollydbg 2.01 繁體中文版

Ollydbg 2.01 繁體中文版 Ollydbg 2.01 繁體中文版下載: Mega:   https://mega.nz/#!I2Qy1aQD!-T5zO3PaANjBHU73I4NlkY8SHMxRptbBV8TpmeFt1fo GD: h...