Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SITCON2015-列印點數歡樂談
Search
LegBone
March 09, 2015
0
340
SITCON2015-列印點數歡樂談
LegBone
March 09, 2015
Tweet
Share
More Decks by LegBone
See All by LegBone
東華大學資工周-我的程式安全嗎
cowby123
0
140
第一次自幹debugger就上手
cowby123
1
920
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Building Your Own Lightsaber
phodgson
103
6.1k
Speed Design
sergeychernyshev
25
670
Agile that works and the tools we love
rasmusluckow
328
21k
Designing Experiences People Love
moore
138
23k
Visualization
eitanlees
146
15k
How to Ace a Technical Interview
jacobian
276
23k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
What's in a price? How to price your products and services
michaelherold
243
12k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Making the Leap to Tech Lead
cromwellryan
133
9k
Navigating Team Friction
lara
183
15k
Transcript
列印點數歡樂談A_A SITCON 2015 Leg_Bone
大家好~ 我是腿骨
About Me 撰寫BY PASS Hackshield TDOHacker 南區召集人 SITCON 2014/2015 short
talk 講者
中研院中國文哲所電腦委員會打過工 現在是VIVOTEK的資安實習生 同時也還是個死大學生 比較習慣使用的語言是ASM,VC++ 然後對逆向功能也有一點點研究!
為什麼我今年又投稿了…..?
SITCON 2014…….
None
None
如今…2015…依舊…..
希望今年徵的到阿ORZ
正題開始
逆向工程
一般是用來破解,做壞事…..
今天難得把它用在正向的用途上!
要聽懂這場ShortTalk的必備技能: 1.一點點組合語言 2.一點點逆向工程 3.一點點PHP
每次要做奇怪的事之前都會有個 故事……..
故事開始…..
有某根腿骨在這個地方打工…… 中研院中國文哲研究所
不用懷疑,就是前面那一棟…….
做文學研究….大家都知道一定是….
一直印
一直印 一直印 一直印 一直印 一直印 一直印
一直印 一直印 一直印 一直印 一直印 一直印 一直印 一直印 一直印 一直印
一直印 一直印
一直印 一直印 一直印 一直印 一直印 一直印 一直印 一直印 一直印 一直印
一直印 一直印 一直印 一直印 一直印 一直印 一直印 一直印
前幾頁做好久ORZ
為了讓大家稍微克制一點,所以出 現了個東西叫做列印點數……..
彩色印一次扣兩點 黑白印一次扣一點
問題來了,大家怎麼知道自己剩下的點數?
廠商有提供一個EXE 可以在右下角查詢目前登入使用者的點數
But……..
只要有一個人的列印點數不足,整個所的電腦都會開 始跳通知….. 腿骨辦公室的電話就會開始被全所的內線DDOS…..
所以腿骨的上司就做了個決定: [不要把這個EXE發下去…….]
那大家要怎麼查詢剩餘點數呢….
研究員 腿骨 腿骨上司 腿骨 研究員 一個研究員要查詢…
很多個研究員要查詢… 研究員 腿骨 腿骨上司 腿骨 研究員 研究員 腿骨 腿骨上司 腿骨
研究員 研究員 腿骨 腿骨上司 腿骨 研究員 研究員 腿骨 腿骨上司 腿骨 研究員 研究員 腿骨 腿骨上司 腿骨 研究員 研究員 腿骨 腿骨上司 腿骨 研究員 研究員 腿骨 腿骨上司 腿骨 研究員 研究員 腿骨 腿骨上司 腿骨 研究員
腿骨 ‧ crash ◢▆▅▄▃-崩╰(〒皿〒)╯潰-▃▄▅▆◣
在某次崩潰後….下定決心解決他 但是我沒有原始碼………..
只好拆了!
1.修好他會通知所有人的BUG……太麻煩了(X) 2.分析出他POST出去的資料,模擬發送來查詢剩餘點 數……….可以考慮(O) 3.利用它本來的EXE串接到WEB上面去……….也可以考 慮(O)
實際下去用wireshark攔截封包後,發現是沒看 過的通訊協定,只好先跳過
第二條路走不通,那就走第三條吧!!
直接把他抓進OD,分析一下他做了些什麼
好像懂了什麼,cowby123就是我的使用者帳號阿! 但是拜託別去念他,我怕被大會用CoC驅逐出場ORZ
Mov eax,使用者ID儲存的地址
改成隔壁同事的試試看!!
真的查到了!!!還有189點
但是我需要一個可以儲存使用者ID的地方 也就是說只要修改送出去的ID 就可以查詢別人的資料......
還記得剛剛這個畫面嗎?紅色框框的部分有多出來的 無用資訊阿!
把它填成隔壁同事的帳號
把使用者ID儲存的地址改成剛剛寫死的部分!
這樣就可以通過直接修改binary的方式來查詢別人 的點數
成品大概是長這個樣子
執行一個我們自己的執行檔 我們的執行檔去修改列印點數查詢的ID 執行改過的列印點數查詢程式 接收傳入的參數(要查詢的ID) 讀取記憶體中的列印點數 結束列印點數查詢程式
用任意程式語言建立一個新的專案!
時間有限 讀檔寫檔的部分學校應該都有教,就不加贅述 然後就用我們的EXE執行修改過後的主程式 這時候他查詢到的列印點數就是我們傳入的ID
執行起來之後,記憶體裡面就有那個ID列印點數的資料, 再用WINDOWS API裡面的ReadProcessMemory 來讀取這個處理程序裡面的數值!
最後就可以用指令的方式來顯示查詢到的點數了 (๑•́ ₃ •̀๑)
再用簡單的PHP CODE就可以在網頁上查詢囉!!!!! <? $a = $_POST["userid"]; if ($a != ""){
$cmd = "getpoint.exe ".$a; ?>
身為一個合格的駭客 網站寫完以後 自己來挖一下自己的洞
PHP接收到CMD指令以後實際上是 長這個樣子 Getpoint.exe ID參數
有用過windows命令提示字元的都 知道…… & <= 這個符號可以連接兩個指令…..
以我自己的ID資料為例 getpoint.exe cowby123&dir cowby123&dir
他真的執行了……
工商服務時間
由於莫風大大去年跟前年都還沒徵 到另一伴… 誠徵女友!! 有興趣請洽大大本人 <(_ _)> 附上QRCODE!
The Declaration of hacker (TDOH)
如果你對資安有興趣
也對我們想作的事情有興趣
可以到這邊了解我們 ↓ http://tdohacker.org/
也可以在FB上搜尋 "The Declaration of hacker"
等一下還有我們的總召集人的 Lightning Talk 敬請期待
Q&A