【边尝试边写博客】入侵学校服务器
現在是凌晨1點,2016年2月16
無聊中看了一下學校主頁,就想試著入侵一下學校網站。
其實對入侵并沒有什么研究,畢竟這行見不得光。
但是~對計算機的基礎還是有的,于是前期設想如下:
1.找到管理員后臺登入地址
2.弱密碼不斷嘗試一直到正確登入
3.登入管理員后臺,注入小馬大馬提權
4.提權后獲取教務處數據庫or上傳木馬到服務器獲取服務器權限
我本身并沒有任何黑客工具,木馬,一切自己從頭動手寫程序,嘗試吧。
然后我也不知道最后會不會成功,一遍做一別寫這篇博客吧。
-----------------------------------------2016/2/16-----凌晨1點06分-------------------------------------------------------
1.找到管理員后臺登入地址
正式開始:
登入XX大學教務處 http://jwc.jmu.edu.cn/,手動找管理員登入地址,找不到。
回想兒時的經歷,好像很多可以掃描管理員地址的軟件。記得初中玩黑客的時候有幾款軟件 x-scan 明小子等,都可以掃描
于是百度下載明小子,我百度隨便下了個 明小子旁注WEB綜合檢測程序 3.6加強版,掃描 http://jwc.jmu.edu.cn/,
獲得管理員登入地址:http://jwc.jmu.edu.cn/admin_index.asp
2.工欲善其事,必先利其器。我們先繼續準備我們要用到的東西再寫代碼。
這里肯定需要一份弱密碼字典的。繼續百度,我這里下載了好幾份,都好大啊,TXT格式的,太大電腦緩存不行打不開。
好蛋疼,于是又百度下載了個TXT文檔分割器。(我下載的是這個:萬能TXT文本分割器 ,剛才還下載錯了寧外一個,結果分割出來的不是TXT,現在這個萬能文本分割器
分割出來的才是我要的TXT文檔。)
把大的密碼文檔分割成幾個小的文檔方便閱讀和導入數據庫,這里不多說怎么操作了太弱智了,畢竟如果這你都不懂,下文也不用繼續看了,先把中學讀了吧寶貝。
我這里分割成10MB一個文檔(其實最好再分割小點,1MB1個文檔最好,方便多線程。但是我懶得再回去分割了。)
3.把分割的TXT文件導入數據庫。
首先,下載mysql、navicat
在navicat中新建數據庫ruo,utf8字符編碼,新建數據庫表mima1,字段:id? int 自增,主鍵?? , 字段:mima varchar30
右鍵數據庫表導入向導,把txt的密碼文檔導入到數據庫表中,一個txt導入一張表,后面的表就mima2,mima3,mima4以此類推就好了,字段都一樣
(這里又要廢話一下了,可能命名不規范,還用mima這種拼音,土土土,也沒前綴等等等,我這里因為圖方便一切怎么方便怎么來了哈哈)
導入完看一下:
到這里密碼也準備好了~~ 好困,其他的改天繼續,困困困
-----------------------------------------2016/2/17--------22:12-----------------------------------------------
(大晚上的總算回家可以寫點代碼了。)
因為這個教務處的后臺登入是需要驗證碼的,所以肯定得做驗證碼識別。
首先嘗試ocr識別。
tesseract-ocr 號稱全球識排名第三,百度隨便下載一個并安裝
http://jwc.jmu.edu.cn/inc/getcode.asp 驗證碼地址,下載5、6個驗證碼保存到本地目錄
DOS下命令:
1、cd /d 目錄地址
2、tesseract 1.jpg 1??
識別1.jpg 結果保存在1.txt
直接識別后發現,準確率幾乎沒有。
于是用JAVA對圖片進行處理,一般對簡單驗證碼就是 去背景,降噪,灰度,二值化
我這邊處理完的結果是
這里簡要說一下我的處理圖片的思路:先用畫圖打開驗證碼,放大了觀察
3948 數字附近還有淡淡的顏色的陰影,陰影很明顯就是顏色比數字淡色的。這種處理方法太簡單了(以前無聊的時候研究過驗證碼識別正好懂)
去這些淡色的噪點我的方法是直接color.getGreen() 獲取綠色的值int,綠色值(0~255 從深到淺),小于150的就是我們的驗證碼,其余的全部不是驗證碼主體
(這里要提一下,方法很多種,我獨愛綠色才經常用這種方法,我也沒看網上有人用這種方法,大家可以嘗試其他方式)
(為什么是大于150這個臨近值呢?可能有人會疑問我這個150的數值哪里得出來的結論呢?很簡單,我肯定是先把所有位點的綠色值打印出來,觀察一下驗證碼主體的數值大小比較一下非主體的綠色值大小,主體綠色值一般都在120+,130+,非主體的一般都在200+,我就設置為150為分界了)
完美!
package jmuOcr;import java.awt.Color; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;import javax.imageio.ImageIO;public class Test {public static void main(String[] args) throws IOException {String file ="C:/Users/Mr.wu/Desktop/臨時/入侵集合/驗證碼/4.jpg";BufferedImage img = getPic(file);int width = img.getWidth(); int height = img.getHeight();for (int x = 0; x < width; ++x) { for (int y = 0; y < height; ++y) { if (isWhite(img.getRGB(x, y)) == 1) { img.setRGB(x, y, Color.WHITE.getRGB()); } else { img.setRGB(x, y, Color.BLACK.getRGB()); } } } saveImg(img,"C:/Users/Mr.wu/Desktop/臨時/入侵集合/驗證碼/new4.jpg");}public static void saveImg(BufferedImage img,String file) throws IOException{ImageIO.write(img, "JPG", new File(file)); }public static void testGetXY(BufferedImage img){int width = img.getWidth(); int height = img.getHeight();System.out.println("width:"+width);System.out.println("height"+height);for (int x = 0; x < width; ++x) { for (int y = 0; y < height; ++y) { System.out.println("wid:"+x+" hei:"+y);Color color = new Color(img.getRGB(x, y)); System.out.println(color.getGreen());} } }//獲取圖片//file:圖片目錄public static BufferedImage getPic(String file){try {BufferedImage image = ImageIO.read(new File(file));return image;} catch (IOException e) {e.printStackTrace();return null; }}public static int isWhite(int colorInt) { Color color = new Color(colorInt); if (color.getGreen()>=200) { return 1; } return 0; } public static int isBlack(int colorInt) { Color color = new Color(colorInt); if ( color.getGreen()<= 150) { return 1; } return 0; } }做到這里后把二值化變成黑白后的驗證碼圖片再DOS下調用tesserct ocr識別一下,吐了一口老血后發現,正確率還是不高!!!!
晚上的時間等于白瞎了。不過不怕,畢竟以前識別過更難的驗證碼,我還有其他方法。不過今晚是沒時間了,留待改天吧。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
因為還沒做完就開始上班沒時間做,而且不想用CSDN博客,打算換到博客園了。這個會繼續抽空寫完。
總結
以上是生活随笔為你收集整理的【边尝试边写博客】入侵学校服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 施耐德 m340 编程手册_PLC模拟量
- 下一篇: 工业互联网常用无线通信协议介绍(详细版)