Ⅰ 資料庫ip泄露具體的風險有哪些
如果知道了資料庫IP地址和有許可權的登錄帳號,你所有的數據將一覽無余,會被盜取、刪除、篡改。
Ⅱ 資料庫泄露意味著什麼
您有秘密嗎?
您擔心電腦數據的安全嗎?
您可曾想過,計算機失竊、遺失,也會造成數據泄密?
您可曾想過,電腦維護人員維修你的電腦時也能竊取機密信息?
您可曾想過,企業內部職員可以通過移動存儲設備(如U盤),或者郵件、文件傳輸、上載等方式輕松地泄密?
隱私信息或技術資料以電子形式儲存在計算機中,通過網路或可移動介質傳遞,安全難以得到保障。一旦信息遭到泄露,有可能對個人或企業造成難以估計的損失,因此對數據進行加密是目前解決信息泄密的最有效方法。
K/3數據安全平台是以自動防護為理念的信息安全系列軟體產品,實現自動、動態、透明地對存儲在計算機上的數據進行加密處理,加密強度大、安全級別高,能有效提高內網的安全保密性。
一、應用背景
1.現狀分析
隨著信息技術的發展,企業為了提高信息處理的效率,越來越多地把文檔轉化為電子文檔形式,甚至把90%以上的企業機密信息以電子文檔的形式存儲在企業內網中。同時,企業也大量使用ERP、CRM、OA等與資料庫相關的電子信息管理方案。這些新型管理手段的使用,在給企業帶來更高的生產效率的同時也給企業的信息安全管理帶來了新的挑戰。雖然企業採用了反病毒軟體、防火牆、入侵檢測、身份認證等手段,但依然無法阻止電子形式的信息通以各種方式從企業中泄漏出去。而當前的大部分網路安全技術出發點是解決對外防護的問題,對內防護十分薄弱。面對日益嚴重的信息安全威脅,企業原有的安全方案漸漸顯得力不從心。
1幾乎每個企業都會遇到「合理」避稅的問題;一旦泄密,企業將進入非常被動的狀態;
2幾乎每個高新企業都要保護技術秘密;一旦泄密,企業將失去核心競爭力,喪失行業領導地位;
3幾乎每個企業都要保護標書、合同、報價單等商業私密,一但泄密,企業將失去客戶。
2.信息安全威脅
2.1據波萊蒙研究所表示,企業在數據入侵時的平均損失呈逐年遞增趨勢。數據入侵給企業帶來的平均損失是660萬美元,有的公司的損失甚至高達3200萬美元。企業因數據入侵而遭受的最大損失是丟失業務。據其表示,在去年的每條記錄平均損失202美元中,有139美元(佔69%)是指丟失業務。
2.2根據FBI和CSI對484家公司進行的網路安全專項調查結果顯示:超過70%的安全威脅來自公司內部,在損失金額上,由於內部人員泄密導致的損失,是黑客造成損失的16倍,是病毒造成損失的12倍。
2.3據中國國家信息安全測評中心調查,信息安全的現實威脅也主要為內部信息泄露和內部人員犯罪,而非病毒和外來黑客引起。
……
3.常見的泄密途徑
3.1黑客通過安裝惡意軟體(如木馬程序)把信息復制出去而泄密。
3.2計算機感染病毒自動向外發送的泄密。
3.3計算機失竊、遺失造成的數據泄密。
3.4內部人員通過移動存儲設備復制信息,或者以郵件、文件上傳等形式泄密。
3.5第三方維護人員利用工作之便竊取信息造成泄密。
4.加密機密資料,徹底解決安全隱患
4.1所有機密資料不能隨便流出企業;
4.2所有機密資料在企業內部透明流通,消除安全隱患的同時,又不影響正常業務操作;
4.3所有機密資料可設置各種安全等級,根據授權使用;
4.4機密資料只有一個可控且唯一的安全出口。
二、產品概述
1.平台簡介
金蝶K/3數據安全平台能有效保護您的數據安全!
平台採用「驅動層」底層透明加密技術,結合世界先進加密演算法,提供完全自動化、動態化、透明化數字文件加密保護。
金蝶K/3數據安全平台解決方案
2.平台特性
2.1採用驅動層動態透明加解密技術;
2.2唯一的企業密鑰,密鑰長度最高可達到8192位;
2.3採用高強度加密演算法,可多種加密演算法混合使用及多次加密;
2.4可加密任何類型的文件或資料庫;
2.5可加密在任何儲存介質上的文件;
2.6嚴格的身份認證體系;
2.7完善的、可無限擴充文件密級控制;
2.8加密文件只有被授權解密才能轉成明文外向傳送;
2.9加解密策略庫、日誌審計報表均可自由定製;
2.10平台簡單易用,無需第三方軟體配合,基本上不改變現有操作模式。
3.系統拓撲結構圖
金蝶K/3數據安全平台解決方案
4.功能概覽:
金蝶K/3數據安全平台解決方案
5.技術優勢:
5.1資料庫加密
資料庫在運行、備份過程中均為密文,通過應用軟體導出報表,無論是C/S或B/S應用模式,報表均被自動加密;並配備「資料庫鎖定熱鍵」,可在網內任一計算機按預設鍵,即時鎖死已加密的資料庫,企業可從容應對各種突發事件。
金蝶K/3數據安全平台解決方案
5.2文件加密
安全平台客戶端創建文件時,文件即被自動加密,並自動根據文件創建者許可權在文件內添加相應的「部門」、「密級」屬性。加密後的文件可在企業內部自由流通,安全平台通過嚴格的文件訪問機制,確定文件不被非授權用戶使用。
金蝶K/3數據安全平台解決方案
支持的應用列表:
金蝶K/3數據安全平台解決方案
5.3可無限擴展的密級管理機制
靈活的「部門」+「密級」管理機制,全面掌控機密資料流向,真正實現任意細粒度控制。
安全平台根據人員「部門」、「密級」授權和文件的「部門」、「密級」屬性進行比對,在部門相符,人員「密級」授權大於或等於文件「密級」屬性的情況下,才允許正常打開加密文件。
當企業行政架構發生變化時,「部門」、「密級」均可任意增加或插入,無需特殊處理已加密文件,即可自動繼承相關授權,可輕松應對未來的擴展。
當文件臨時需要交由企業內部其他部門使用時,可通過OA的審批流程或在安全平台客戶端直接把文件內含的「部門」、「密級」屬性變更到為新的「部門」、「密級」。
當企業內部某些人員需要跨部門工作時,可通過安全平台控制台,對特定人員授與相應的「部門」、「密級」操作許可權。
金蝶K/3數據安全平台解決方案
5.4靈活的解密機制
多種靈活的解密方式,可結合OA或PLM使用,實現工作程審批解密或郵件白名單自動解密,減少領導手工解密的工作量,提高企業效率。
金蝶K/3數據安全平台解決方案
5.5列印限制功能
可根據不同用戶許可權,限制相應進程的列印功能。減少機密文件通過紙質形式泄密的機會。
5.6進程限制功能
可根據不同用戶許可權,限制相應進程的運行功能。禁用與工作無關的應用,提高工作效率。
5.7網址訪問控制功能
可根據不同用戶許可權,設定網址訪問許可權,分別使用黑白名單管理,禁止用戶訪問與工作無關的網頁,提高工作效率。
5.8遠程監控
根據不同用戶許可權,可隨時監控任一安全平台客戶端的計算機屏幕,安全終端所有操作行為無所遁形。
5.9工作時間排程
可根據實際情況,任意設定資料庫伺服器及平台各用戶的工作時間,在非工作時間內,無法登錄平台,無法使用已加密的文件,確保機密資料安全。
5.10支持多種登錄模式
包括「用戶名+密碼」、「用戶名+智能卡數字證書(CA)」、用戶名捆綁IP、Mac地址、開機自動登錄等。
5.11多種隱蔽機制
隱蔽安全平台運行界面、未登錄平台前隱藏已加密的文件,使用企業機密更加安全。隱藏後,在資源管理器看不到已加密文件,在sql企業管理器中看不到已加密的資料庫,在金蝶賬套管理也看不到已加密賬套。
5.12支持離線應用
安全平台根據離線後有效時間、離線後登錄次數等進行離線控制,即使計算機離開公司環境,仍受到實時監控,加密效果與在公司內部使用一樣。
5.13完善的日誌記錄
詳細記錄安全終端的各項關鍵操作,根據客戶需要輸出相應報表。
Ⅲ 有關騰訊資料庫泄露,如何查詢資料庫
此題已經失去時效性,請回收!
騰訊資料庫泄露已經是2013年的事情了!
Ⅳ 如何發現資料庫連接泄露
1. 根據日誌查找;
首先,翻看系統日誌,找到連接池溢出的時刻。然後,對應這個時間,查找用戶正在進行的操作。
這種方法適合於不啟動任何監控程序或進程,不改變系統設置,就能人為的縮小可能泄露連接的代碼范圍。
2. 利用連接池本身的utility設施;比如C3P0,以下是需要用到的兩個參數(推薦):
unreturnedConnectionTimeout
Default: 0
Seconds. If set, if an application checks out but then fails to check-in [i.e. close()] a Connection within the specified period of time, the pool will unceremoniously destroy() the Connection. This permits applications with occasional Connection leaks to survive, rather than eventually exhausting the Connection pool. And that's a shame. Zero means no timeout, applications are expected to close() their own Connections. Obviously, if a non-zero value is set, it should be to a value longer than any Connection should reasonably be checked-out. Otherwise, the pool will occasionally kill Connections in active use, which is bad. This is basically a bad idea, but it's a commonly requested feature. Fix your $%!@% applications so they don't leak Connections! Use this temporarily in combination with to figure out where Connections are being checked-out that don't make it back into the pool!Default: false
If true, and if unreturnedConnectionTimeout is set to a positive value, then the pool will capture the stack trace (via an Exception) of all Connection checkouts, and the stack traces will be printed when unreturned checked-out Connections timeout. This is intended to debug applications with Connection leaks, that is applications that occasionally fail to return Connections, leading to pool growth, and eventually exhaustion (when the pool hits maxPoolSize with all Connections checked-out and lost). This parameter should only be set while debugging, as capturing the stack trace will slow down every Connection check-out.
當我們同時使用這兩個參數時,比如unreturnedConnectionTimeout設為5秒,設為true。那麼,當一個連接被check out 5秒,還沒有被check in的時候,連接池會拋出一個錯誤堆棧。有了堆棧,那我們就可以精確定位出現問題的代碼位置了。
當然,這個方法中的參數並不是C3P0特有的,其他連接池配置中,應該也有類似的參數。
Ⅳ 騰訊資料庫24.5G也泄露了,什麼節奏
今天聽說騰訊資料庫也泄露了,類似GroupData1_Data.MDF這樣的6個下載文件總共24.5G。還好後來發現是用戶資料數據,不是qq密碼。
這里有討論
網路時代,個人隱私全存在這些公司里,如果被公開,可能造成一些問題,比如被一些人惡意利用等等。
目前可以肯定的是,這東西是真的,而且已經在網上流傳開了。最開始是xunlei離線的QQ資料庫.7z,然後又被人放到了網路網盤,還有在線查詢網站(現在好像沒了)。
Ⅵ dnf私服默認密碼
首先對他的注冊頁面和有頁面的地方進行測試,經過一通掃描發現沒啥可利用的。
然後在登錄的時候進行抓包。我們抓到如下請求
GET /action.php?username=xx&password=&mac_md5=&type=login HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Accept: */*
Host: xx.x.x:66
Cache-Control: no-cache
發現url可以爆破,這里url爆破的方法也很簡單,開啟瀏覽器代理,burp開啟攔截後,訪問host+GET後面的內容。
然後你會抓到一個請求。發送到intruder然後設置好兩個變數,導入字典即可。
這里需要注意下,由於登錄時密碼被自動加密成MD5,所以你爆破的時候也要把密碼字典批量加密成md5才可以。
登陸成功的返回值
登陸失敗的返回值
ping一下數據包裡面host我們得到伺服器的IP地址為x.x.x.x
然後我們用scanport掃描下埠。發現開放了22、3306、111、849等等埠。
0x02 開始突破
22埠是SSH的埠。3306是Mysql埠,我們從這兩個地方入手。
兩個埠都開啟爆破工具。SSH用Test404的爆破工具(速度有點慢) 3306埠用Cookmysql工具爆破。
經過漫長的等待後發現3306爆破成功了,點擊查看成功按鈕,我們得到資料庫密碼123.321..123...
現在我們打開navicat軟體,填入伺服器IP地址、用戶名和密碼,然後保存。
然後在左側雙擊剛剛添加的伺服器,直接進入資料庫管理。
到處翻了一下,發現會員表裡面有1200多條會員記錄......
看了半天表示一臉懵逼,不知道我個人的數據儲存在哪裡。
都到這里了,當然不能放棄,我繼續網路查詢了一些資料。
得知這種SF基本都有GM工具,然後繼續搜索各種GM工具做進一步測試。
最後測試以下這款GM工具連接資料庫成功。
0x03 給賬號修改數據
這里為了預防游戲伺服器有登陸和注冊時的IP記錄,避免被社,我用上代理以後重新注冊一個賬號。(我之前玩的號IP是自己真實的)
在GM工具輸入我的賬號,點擊查詢,找到我的角色後,選中。
切換到郵件功能,給我發了一些金幣和武器作為測試。
重新進游戲,發現郵箱裡面已經有金幣過來了。O(∩_∩)O哈哈~
研究了一下,這個GM工具還能發商城道具和其他物品,具體就不演示了。
現在去我朋友面前裝下逼。哈哈......
0x04 總結
由於對方對外開放了22埠SSH 3306埠 MYSQL,所以導致被我爆破。
在我們日常使用中,可以限制3306埠和22埠的連接IP白名單,這樣就可以避免被爆破。
如果不設置白名單,那麼賬號密碼一定要設置得盡量復雜,在設置密碼的時候,可以通過各大社工庫查詢是否被泄露過。
註:SSH和3306爆破工具回復SSH獲取下載鏈接
聲明:工具來源於網路,安全性未知,請在虛擬機下測試,由於軟體具有一定的攻擊性,請勿用於非法用途,否則發生的一切後果自負。
Ⅶ 什麼是資料庫連接泄漏
先說資料庫連接池,java連接數據的jdbc,在連接資料庫是耗時很多,會造成性能瓶頸。
為了解決則個問題,用到了資料庫連接池,連接池在程序啟動的時候,會取得多個資料庫連接,例如50-100個,當使用的時候,從資料庫連接池中取出,使用之後不真正關閉資料庫連接,而是把連接放回連接池,這樣就不會造成頻繁去資料庫取連接而消耗性能。
資料庫連接池泄露就是資料庫連接取了,用完了之後沒有放回連接池,這樣就沒有可用的連接給出了。
Ⅷ dnf單機注冊失敗連接資料庫錯誤
注冊的解決
DNF單擊版本資源
linux下mysql配置文件my.cnf最詳細解釋與目錄
MyISAM 相關選項
INNODB 相關選項
安裝啟動、相關目錄
全文約 9945 字,預計閱讀時長: 28分鍾
注冊的解決
個人遇到的問題,是按下面這篇文章解決的
二、無法安裝vmnet8虛擬網路適配器、vmware network editor未響應、注冊失敗,請檢查賬號資料庫配置是否正確的解決
單機版安裝的大頭主要是虛擬機的安裝。其餘服務端,客戶端、補丁、輔助工具什麼的只要放對文件,解壓沒問題,就可以按著教程一路next。注冊一個用戶,就是往某個資料庫的一個表中,插入一條SQL語句…,,一個表的一條記錄(玩家)與另一個庫中的某個表的一條記錄(玩家裝備等信息)相關聯
DNF單擊版本資源
我最後找的是100級的版本,18個G。。其他版本教程安裝與資源見:DNF單機版搭建(區域網、外網運掘孝)
100級的資源:微信搜索散春框搜索,dnf單機版下載,有個溯源百級一鍵端的資源。
linux下mysql配置文件my.cnf最詳細解釋與目錄
my.cnf的文件內容說明:
#MySQL 服務端
[mysqld]
#一般配置選項
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
#back_log 是操作系統在監聽隊列中所能保持的連接數,
#隊列保存了在MySQL連接管理器線程處理之前的連接.
#如果你有非常高的連接率並且出現」connection refused」 報錯,
#你就應該增加此處的值.
#檢查你的操作系統文檔來獲取這個變數的最大值.
#如果將back_log設定到比你操作系統限制更高的值,將會沒有效果
back_log = 50
#不在TCP/IP埠上進行監聽.
#如果所有的進程都是在同一台伺服器連接到本地的mysqld,
#這樣設置將是增強安全的方法
#所有mysqld的連接都是通過Unix sockets 或者命名管道進行的.
#注意在windows下如果沒有打開命名管道選項而只是用此項
#(通過 「enable-named-pipe」 選項) 將會導致mysql服務沒有任何作用!
#skip-networking
#MySQL 服務所允許的同時會話數的上限
#其中一個連接將被SUPER許可權保留作為管理員登錄.
#即便已經達到了連接數的上限.
max_connections = 100
#每個客戶端連接最大的錯誤允許數量,如果達到了此限制.
#這個客戶端將會被MySQL服務阻止直到執行了」FLUSH HOSTS」 或者服務重啟
#非法的密碼以及其他在鏈接時的錯誤會增加此值.
#查看 「Aborted_connects」 狀態來獲取全局計數器.
max_connect_errors = 10
#所有線程所打開表的數量.
#增加此值就增加了mysqld所需要的文件描述符的數量旁稿
#這樣你需要確認在[mysqld_safe]中 「open-files-limit」 變數設置打開文件數量允許至少4096
table_cache = 2048
#允許外部文件級別的鎖. 打開文件鎖會對性能造成負面影響
#所以只有在你在同樣的文件上運行多個資料庫實例時才使用此選項(注意仍會有其他約束!)
#或者你在文件層面上使用了其他一些軟體依賴來鎖定MyISAM表
#external-locking
#服務所能處理的請求包的最大大小以及服務所能處理的最大的請求大小(當與大的BLOB欄位一起工作時相當必要)
#每個連接獨立的大小.大小動態增加
max_allowed_packet = 16M
#在一個事務中binlog為了記錄SQL狀態所持有的cache大小
#如果你經常使用大的,多聲明的事務,你可以增加此值來獲取更大的性能.
#所有從事務來的狀態都將被緩沖在binlog緩沖中然後在提交後一次性寫入到binlog中
#如果事務比此值大, 會使用磁碟上的臨時文件來替代.
#此緩沖在每個連接的事務第一次更新狀態時被創建
binlog_cache_size = 1M
#獨立的內存表所允許的最大容量.
#此選項為了防止意外創建一個超大的內存表導致永盡所有的內存資源.
max_heap_table_size = 64M
#排序緩沖被用來處理類似ORDER BY以及GROUP BY隊列所引起的排序
#如果排序後的數據無法放入排序緩沖,
#一個用來替代的基於磁碟的合並分類會被使用
#查看 「Sort_merge_passes」 狀態變數.
#在排序發生時由每個線程分配
sort_buffer_size = 8M
#此緩沖被使用來優化全聯合(full JOINs 不帶索引的聯合).
#類似的聯合在極大多數情況下有非常糟糕的性能表現,
#但是將此值設大能夠減輕性能影響.
#通過 「Select_full_join」 狀態變數查看全聯合的數量
#當全聯合發生時,在每個線程中分配
join_buffer_size = 8M
#我們在cache中保留多少線程用於重用
#當一個客戶端斷開連接後,如果cache中的線程還少於thread_cache_size,
#則客戶端線程被放入cache中.
#這可以在你需要大量新連接的時候極大的減少線程創建的開銷
#(一般來說如果你有好的線程模型的話,這不會有明顯的性能提升.)
thread_cache_size = 8
#此允許應用程序給予線程系統一個提示在同一時間給予渴望被運行的線程的數量.
#此值只對於支持 thread_concurrency() 函數的系統有意義( 例如Sun Solaris).
#你可可以嘗試使用 [CPU數量]*(2…4) 來作為thread_concurrency的值
thread_concurrency = 8
#查詢緩沖常被用來緩沖 SELECT 的結果並且在下一次同樣查詢的時候不再執行直接返回結果.
#打開查詢緩沖可以極大的提高伺服器速度, 如果你有大量的相同的查詢並且很少修改表.
#查看 「Qcache_lowmem_prunes」 狀態變數來檢查是否當前值對於你的負載來說是否足夠高.
#注意: 在你表經常變化的情況下或者如果你的查詢原文每次都不同,
#查詢緩沖也許引起性能下降而不是性能提升.轉載請註明文章來源:http://www.linuxso.com/a/linuxrumen/413.html
query_cache_size = 64M
#只有小於此設定值的結果才會被緩沖
#此設置用來保護查詢緩沖,防止一個極大的結果集將其他所有的查詢結果都覆蓋.
query_cache_limit = 2M
#被全文檢索索引的最小的字長.
#你也許希望減少它,如果你需要搜索更短字的時候.
#注意在你修改此值之後,
#你需要重建你的 FULLTEXT 索引
ft_min_word_len = 4
#如果你的系統支持 memlock() 函數,你也許希望打開此選項用以讓運行中的mysql在在內存高度緊張的時候,數據在內存中保持鎖定並且防止可能被swapping out
#此選項對於性能有益
#memlock
#當創建新表時作為默認使用的表類型,
#如果在創建表示沒有特別執行表類型,將會使用此值
default_table_type = MYISAM
#線程使用的堆大小. 此容量的內存在每次連接時被預留.
#MySQL 本身常不會需要超過64K的內存
#如果你使用你自己的需要大量堆的UDF函數
#或者你的操作系統對於某些操作需要更多的堆,
#你也許需要將其設置的更高一點.
thread_stack = 192K
#設定默認的事務隔離級別.可用的級別如下:
#READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction_isolation = REPEATABLE-READ
#內部(內存中)臨時表的最大大小
#如果一個表增長到比此值更大,將會自動轉換為基於磁碟的表.
#此限制是針對單個表的,而不是總和.
tmp_table_size = 64M
#打開二進制日誌功能.
#在復制(replication)配置中,作為MASTER主伺服器必須打開此項
#如果你需要從你最後的備份中做基於時間點的恢復,你也同樣需要二進制日誌.
log-bin=mysql-bin
#如果你在使用鏈式從伺服器結構的復制模式 (A->B->C),
#你需要在伺服器B上打開此項.
#此選項打開在從線程上重做過的更新的日誌,
#並將其寫入從伺服器的二進制日誌.
#log_slave_updates
#打開全查詢日誌. 所有的由伺服器接收到的查詢 (甚至對於一個錯誤語法的查詢)
#都會被記錄下來. 這對於調試非常有用, 在生產環境中常常關閉此項.
#log
#將警告列印輸出到錯誤log文件. 如果你對於MySQL有任何問題
#你應該打開警告log並且仔細審查錯誤日誌,查出可能的原因.
#log_warnings
#記錄慢速查詢. 慢速查詢是指消耗了比 「long_query_time」 定義的更多時間的查詢.
#如果 log_long_format 被打開,那些沒有使用索引的查詢也會被記錄.
#如果你經常增加新查詢到已有的系統內的話. 一般來說這是一個好主意,
log_slow_queries
#所有的使用了比這個時間(以秒為單位)更多的查詢會被認為是慢速查詢.
#不要在這里使用」1″, 否則會導致所有的查詢,甚至非常快的查詢頁被記錄下來(由於MySQL 目前時間的精確度只能達到秒的級別).
long_query_time = 2
#在慢速日誌中記錄更多的信息.
#一般此項最好打開.
#打開此項會記錄使得那些沒有使用索引的查詢也被作為到慢速查詢附加到慢速日誌里
log_long_format
#此目錄被MySQL用來保存臨時文件.例如,
#它被用來處理基於磁碟的大型排序,和內部排序一樣.
#以及簡單的臨時表.
#如果你不創建非常大的臨時文件,將其放置到 swapfs/tmpfs 文件系統上也許比較好
#另一種選擇是你也可以將其放置在獨立的磁碟上.
#你可以使用」;」來放置多個路徑
#他們會按照roud-robin方法被輪詢使用.
#tmpdir = /tmp
#復制有關的設置
#唯一的服務辨識號,數值位於 1 到 2^32-1之間.
#此值在master和slave上都需要設置.
#如果 「master-host」 沒有被設置,則默認為1, 但是如果忽略此選項,MySQL不會作為master生效.
server-id = 1
#復制的Slave (去掉master段的注釋來使其生效)
#為了配置此主機作為復制的slave伺服器,你可以選擇兩種方法:
#1) 使用 CHANGE MASTER TO 命令 (在我們的手冊中有完整描述) -
#語法如下:
#CHANGE MASTER TO MASTER_HOST=, MASTER_PORT= ,
#MASTER_USER=, MASTER_PASSWORD= ;
#你需要替換掉 , , 等被尖括弧包圍的欄位以及使用master的埠號替換 (默認3306).
#例子:
#CHANGE MASTER TO MASTER_HOST=』125.564.12.1′, MASTER_PORT=3306,
#MASTER_USER=』joe』, MASTER_PASSWORD=』secret』;
#或者
#2) 設置以下的變數. 不論如何, 在你選擇這種方法的情況下, 然後第一次啟動復制(甚至不成功的情況下,
#例如如果你輸入錯密碼在master-password欄位並且slave無法連接),
#slave會創建一個 master.info 文件,並且之後任何對於包含在此文件內的參數的變化都會被忽略
#並且由 master.info 文件內的內容覆蓋, 除非你關閉slave服務, 刪除 master.info 並且重啟slave 服務.
#由於這個原因,你也許不想碰一下的配置(注釋掉的) 並且使用 CHANGE MASTER TO (查看上面) 來代替所需要的唯一id號位於 2 和 2^32 – 1之間
#(並且和master不同)
#如果master-host被設置了.則默認值是2
#但是如果省略,則不會生效
#server-id = 2
#復制結構中的master – 必須
#master-host =
#當連接到master上時slave所用來認證的用戶名 – 必須
#master-user =
#當連接到master上時slave所用來認證的密碼 – 必須
#master-password = #轉載請註明文章來源:http://www.linuxso.com/a/linuxrumen/413.html
#master監聽的埠.
#可選 – 默認是3306
#master-port =
#使得slave只讀.只有用戶擁有SUPER許可權和在上面的slave線程能夠修改數據.
#你可以使用此項去保證沒有應用程序會意外的修改slave而不是master上的數據
#read_only
MyISAM 相關選項
#關鍵詞緩沖的大小, 一般用來緩沖MyISAM表的索引塊.
#不要將其設置大於你可用內存的30%,
#因為一部分內存同樣被OS用來緩沖行數據
#甚至在你並不使用MyISAM 表的情況下, 你也需要仍舊設置起 8-64M 內存由於它同樣會被內部臨時磁碟表使用.
key_buffer_size = 32M
#用來做MyISAM表全表掃描的緩沖大小.
#當全表掃描需要時,在對應線程中分配.
read_buffer_size = 2M
#當在排序之後,從一個已經排序好的序列中讀取行時,行數據將從這個緩沖中讀取來防止磁碟尋道.
#如果你增高此值,可以提高很多ORDER BY的性能.
#當需要時由每個線程分配
read_rnd_buffer_size = 16M
#MyISAM 使用特殊的類似樹的cache來使得突發插入
#(這些插入是,INSERT … SELECT, INSERT … VALUES (…), (…), …, 以及 LOAD DATA
#INFILE) 更快. 此變數限制每個進程中緩沖樹的位元組數.
#設置為 0 會關閉此優化.
#為了最優化不要將此值設置大於 「key_buffer_size」.
#當突發插入被檢測到時此緩沖將被分配.
bulk_insert_buffer_size = 64M
#此緩沖當MySQL需要在 REPAIR, OPTIMIZE, ALTER 以及 LOAD DATA INFILE 到一個空表中引起重建索引時被分配.
#這在每個線程中被分配.所以在設置大值時需要小心.
myisam_sort_buffer_size = 128M
#MySQL重建索引時所允許的最大臨時文件的大小 (當 REPAIR, ALTER TABLE 或者 LOAD DATA INFILE).
#如果文件大小比此值更大,索引會通過鍵值緩沖創建(更慢)
myisam_max_sort_file_size = 10G
#如果被用來更快的索引創建索引所使用臨時文件大於制定的值,那就使用鍵值緩沖方法.
#這主要用來強制在大表中長字串鍵去使用慢速的鍵值緩沖方法來創建索引.
myisam_max_extra_sort_file_size = 10G
#如果一個表擁有超過一個索引, MyISAM 可以通過並行排序使用超過一個線程去修復他們.
#這對於擁有多個CPU以及大量內存情況的用戶,是一個很好的選擇.
myisam_repair_threads = 1
#自動檢查和修復沒有適當關閉的 MyISAM 表.
myisam_recover
#默認關閉 Federated
skip-federated
#BDB 相關選項
#如果你運行的MySQL服務有BDB支持但是你不準備使用的時候使用此選項. 這會節省內存並且可能加速一些事.
skip-bdb
INNODB 相關選項
#如果你的MySQL服務包含InnoDB支持但是並不打算使用的話,
#使用此選項會節省內存以及磁碟空間,並且加速某些部分
#skip-innodb
#附加的內存池被InnoDB用來保存 metadata 信息
#如果InnoDB為此目的需要更多的內存,它會開始從OS這里申請內存.
#由於這個操作在大多數現代操作系統上已經足夠快, 你一般不需要修改此值.
#SHOW INNODB STATUS 命令會顯示當先使用的數量.
innodb_additional_mem_pool_size = 16M
#InnoDB使用一個緩沖池來保存索引和原始數據, 不像 MyISAM.
#這里你設置越大,你在存取表裡面數據時所需要的磁碟I/O越少.
#在一個獨立使用的資料庫伺服器上,你可以設置這個變數到伺服器物理內存大小的80%
#不要設置過大,否則,由於物理內存的競爭可能導致操作系統的換頁顛簸.
#注意在32位系統上你每個進程可能被限制在 2-3.5G 用戶層面內存限制,
#所以不要設置的太高.
innodb_buffer_pool_size = 2G
#InnoDB 將數據保存在一個或者多個數據文件中成為表空間.
#如果你只有單個邏輯驅動保存你的數據,一個單個的自增文件就足夠好了.
#其他情況下.每個設備一個文件一般都是個好的選擇.
#你也可以配置InnoDB來使用裸盤分區 – 請參考手冊來獲取更多相關內容
innodb_data_file_path = ibdata1:10M:autoextend
#設置此選項如果你希望InnoDB表空間文件被保存在其他分區.
#默認保存在MySQL的datadir中.
#innodb_data_home_dir =
#用來同步IO操作的IO線程的數量. This value is
#此值在Unix下被硬編碼為4,但是在Windows磁碟I/O可能在一個大數值下表現的更好.
innodb_file_io_threads = 4
#如果你發現InnoDB表空間損壞, 設置此值為一個非零值可能幫助你導出你的表.
#從1開始並且增加此值知道你能夠成功的導出表.
#innodb_force_recovery=1
#在InnoDb核心內的允許線程數量.
#最優值依賴於應用程序,硬體以及操作系統的調度方式.
#過高的值可能導致線程的互斥顛簸.
innodb_thread_concurrency = 16
#如果設置為1 ,InnoDB會在每次提交後刷新(fsync)事務日誌到磁碟上,
#這提供了完整的ACID行為.
#如果你願意對事務安全折衷, 並且你正在運行一個小的食物, 你可以設置此值到0或者2來減少由事務日誌引起的磁碟I/O
#0代表日誌只大約每秒寫入日誌文件並且日誌文件刷新到磁碟.
#2代表日誌寫入日誌文件在每次提交後,但是日誌文件只有大約每秒才會刷新到磁碟上.
innodb_flush_log_at_trx_commit = 1
#加速InnoDB的關閉. 這會阻止InnoDB在關閉時做全清除以及插入緩沖合並.
#這可能極大增加關機時間, 但是取而代之的是InnoDB可能在下次啟動時做這些操作.
#innodb_fast_shutdown
#用來緩沖日誌數據的緩沖區的大小.
#當此值快滿時, InnoDB將必須刷新數據到磁碟上.
#由於基本上每秒都會刷新一次,所以沒有必要將此值設置的太大(甚至對於長事務而言)
innodb_log_buffer_size = 8M
#在日誌組中每個日誌文件的大小.
#你應該設置日誌文件總合大小到你緩沖池大小的25%~100%
#來避免在日誌文件覆寫上不必要的緩沖池刷新行為.
#不論如何, 請注意一個大的日誌文件大小會增加恢復進程所需要的時間.
innodb_log_file_size = 256M
#在日誌組中的文件總數.
#通常來說2~3是比較好的.
innodb_log_files_in_group = 3
#InnoDB的日誌文件所在位置. 默認是MySQL的datadir.
#你可以將其指定到一個獨立的硬碟上或者一個RAID1卷上來提高其性能
#innodb_log_group_home_dir
#在InnoDB緩沖池中最大允許的臟頁面的比例.
#如果達到限額, InnoDB會開始刷新他們防止他們妨礙到干凈數據頁面.
#這是一個軟限制,不被保證絕對執行.
innodb_max_dirty_pages_pct = 90
#InnoDB用來刷新日誌的方法.
#表空間總是使用雙重寫入刷新方法
#默認值是 「fdatasync」, 另一個是 「O_DSYNC」.
#innodb_flush_method=O_DSYNC
#在被回滾前,一個InnoDB的事務應該等待一個鎖被批准多久.
#InnoDB在其擁有的鎖表中自動檢測事務死鎖並且回滾事務.
#如果你使用 LOCK TABLES 指令, 或者在同樣事務中使用除了InnoDB以外的其他事務安全的存儲引擎
#那麼一個死鎖可能發生而InnoDB無法注意到.
#這種情況下這個timeout值對於解決這種問題就非常有幫助.
innodb_lock_wait_timeout = 120
[mysqlmp]
#不要在將內存中的整個結果寫入磁碟之前緩存. 在導出非常巨大的表時需要此項
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
#僅僅允許使用鍵值的 UPDATEs 和 DELETEs .
#safe-updates
[isamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[myisamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[mysqlhot]
interactive-timeout
[mysqld_safe]
#增加每個進程的可打開文件數量.
#警告: 確認你已經將全系統限制設定的足夠高!
#打開大量表需要將此值設b
open-files-limit = 8192
安裝啟動、相關目錄
示例:
安裝
rmp -ivh MySQL-server-4.1.22-0.glibc23.i386.rpm --nodeps
rmp -ivh MySQL-client-4.1.22-0.glibc23.i386.rpm --nodeps
查看是否安裝成功
netstat -atln 命令看到3306埠開放說明安裝成功
登錄
mysql [-u username] [-h host] [-p[password]] [dbname]
初始無密碼,這個mysql可執行文件在/usr/bin/mysql
目錄
1、資料庫目錄
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相關命令
/usr/bin(mysqladmin mysqlmp等命令)
4、啟動腳本
/etc/rc.d/init.d/(啟動腳本文件mysql的目錄)
修改登錄密碼
MySQL默認沒有密碼
usr/bin/mysqladmin -u root passwor 『xxxx』
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
啟動與停止
MySQL安裝完成後啟動文件mysql在/etc/init.d目錄下,在需要啟動時運行下面命令即可
啟動:
/etc/init.d/mysql start
停止:
/usr/bin/mysqladmin -u root -p shutdown
重新啟動:
sudo /etc/init.d/mysql restart
自動啟動:
察看mysql是否在自動啟動列表中 /sbin/chkconfig --list
把MySQL添加到你系統的啟動服務組裡面去 /sbin/chkconfig --add mysql
把MySQL從啟動服務組裡面刪除 /sbin/chkconfig --del mysql
配置
將/usr/share/mysql/my-medium.cnf復制到/etc/my.cnf,以後修改my.cnf文件來修改mysql的全局設置
將my.cnf文件中的innodb_flush_log_at_trx_commit設成0來優化
[mysqld]後添加添加lower_case_table_names設成1來不區分表名的大小寫
設置字元集
MySQL的默認編碼是Latin1,不支持中文,要支持需要把資料庫的默認編碼修改為gbk或者utf8。
1、中止MySQL服務(bin/mysqladmin -u root shutdown)
2、在/etc/下找到my.cnf,如果沒有就把MySQL的安裝目錄下的support-files目錄下的my-medium.cnf復制到/etc/下並改名為my.cnf即可
3、打開my.cnf以後,在[client]和[mysqld]下面均加上default-character-set=utf8,保存並關閉
4、啟動MySQL服務(bin/mysqld_safe &)
查詢字元集:show variables like 『%set%』;
Ⅸ 怎麼判斷網站資料庫是不是MySQL 用sqlmap怎麼爆後台帳戶名和密碼 怎麼手工爆
注入語句如下:
Username: jonnybravo』 or 1=1; –
該注入語句要做的就是從資料庫查詢用戶jonnybravo,獲取數據後立刻終止查詢(利用單引號),之後緊接著一條OR語句,由於這是一條「if狀態」查詢語句,而且這里給出 「or 1=1」,表示該查詢永遠為真。1=1表示獲取資料庫中的所有記錄,之後的;–表示結束查詢,告訴資料庫當前語句後面沒有其它查詢語句了。
圖1 正常方式查看用戶信息
將payload注入後,伺服器泄露了資料庫中的所有用戶信息。如圖2所示:
圖2 注入payload導致資料庫中所有數據泄露
至此,本文向讀者演示了一種基本SQL注入,下面筆者用BackTrack和Samurai 等滲透測試發行版中自帶的SQLmap工具向讀者演示。要使用SQLmap,只需要打開終端,輸入SQLmap並回車,如下圖所示:
如果讀者首次使用SQLmap,不需要什麼預先操作。如果已經使用過該工具,需要使用—purge-output選項將之前的輸出文件刪除,如下圖所示:
圖3 將SQLmap output目錄中的原輸出文件刪除
本文會演示一些比較獨特的操作。通常人們使用SQLmap時會直接指定URL,筆者也是用該工具分析請求,但會先用Burp查看請求並將其保存到一個文本文件中,之後再用SQLmap工具調用該文本文件進行掃描。以上就是一些准備工作,下面首先就是先獲取一個請求,如下所示:
GET /chintan/index.php?page=user-info.php&username=jonnybravo&password=momma&user-info-php-submit-button=View+Account+Details HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:27.0) Gecko/20100101 Firefox/27.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://localhost/chintan/index.php?page=user-info.php
Cookie: showhints=0; username=jonnybravo; uid=19; PHPSESSID=f01sonmub2j9aushull1bvh8b5
Connection: keep-alive
將該請求保存到一個文本文件中,之後發送到KALI linux中,用如下命令將該請求頭部傳給SQLmap:
SQLmap –r ~/root/Desktop/header.txt
Self-Critical Evaluation
命令中-r選項表示要讀取一個包含請求的文件,~/root/Desktop/header.txt表示文件的位置。如果讀者用VMware,例如在Windows上用虛擬機跑KALI,執行命令時可能產生如下圖所示的錯誤提示:
這里必須在請求頭中指定一個IP地址,使KALI linux能與XP正常通信,修改如下圖所示:
之後命令就能正常執行了,顯示結果如下圖所示:
基本上該工具做的就是分析請求並確定請求中的第一個參數,之後對該參數進行各種測試,以確定伺服器上運行的資料庫類型。對每個請求,SQLmap都會對請求中的第一個參數進行各種測試。
GET /chintan/index.php?page=user-info.php&username=jonnybravo&password=momma&user-info-php-submit-button=View+Account+Details HTTP/1.1
SQLmap可以檢測多種資料庫,如MySQL、Oracle SQL、PostgreSQL、Microsoft SQL Server等。
下圖是筆者系統中SQLmap正在對指定的請求進行檢測時顯示的資料庫列表:
首先它會確定給定的參數是否可注入。根據本文演示的情況,我們已經設置OWASP mutillidae的安全性為0,因此這里是可注入的,同時SQLmap也檢測到後台資料庫DBMS可能為MYSQL。
如上圖所示,工具識別後台資料庫可能為MYSQL,因此提示用戶是否跳過其它類型資料庫的檢測。
「由於本文在演示之前已經知道被檢測資料庫是MYSQL,因此這里選擇跳過對其它類型資料庫的檢測。」
之後詢問用戶是否引入(include)測試MYSQL相關的所有payload,這里選擇「yes」選項:
測試過一些payloads之後,工具已經識別出GET參數上一個由錯誤引起的注入問題和一個Boolean類型引起的盲注問題。
之後顯示該GET參數username是一個基於MYSQL union(union-based)類型的查詢注入點,因此這里跳過其它測試,深入挖掘已經找出的漏洞。
至此,工具已經識別出應該深入挖掘的可能的注入點:
接下來,我把參數username傳遞給SQLmap工具,以對其進行深入挖掘。通過上文描述的所有注入點和payloads,我們將對username參數使用基於Boolean的SQL盲注技術,通過SQLmap中的–technique選項實現。其中選擇如下列表中不同的選項表示選用不同的技術:
B : 基於Boolean的盲注(Boolean based blind)
Q : 內聯查詢(Inline queries)
T : 基於時間的盲注(time based blind)
U : 基於聯合查詢(Union query based)
E : 基於錯誤(error based)
S : 棧查詢(stack queries)
本例中也給出了參數名「username」,因此最後構造的命令如下:
SQLmap –r ~root/Desktop/header.txt – -technique B – -p username – -current-user
這里-p選項表示要注入的參數,「–current-user「選項表示強制SQLmap查詢並顯示登錄MYSQL資料庫系統的當前用戶。命令得到輸出如下圖所示:
同時也可以看到工具也識別出了操作系統名,DBMS伺服器以及程序使用的編程語言。
「」當前我們所做的就是向伺服器發送請求並接收來自伺服器的響應,類似客戶端-伺服器端模式的交互。我們沒有直接與資料庫管理系統DBMS交互,但SQLmap可以仍識別這些後台信息。
同時本次與之前演示的SQL注入是不同的。在前一次演示SQL注入中,我們使用的是前綴與後綴,本文不再使用這種方法。之前我們往輸入框中輸入內容並等待返回到客戶端的響應,這樣就可以根據這些信息得到切入點。本文我們往輸入框輸入永遠為真的內容,通過它判斷應用程序的響應,當作程序返回給我們的信息。「
結果分析
我們已經給出當前的用戶名,位於本機,下面看看它在後台做了什麼。前文已經說過,後台是一個if判斷語句,它會分析該if查詢,檢查username為jonnybravo且7333=7333,之後SQLmap用不同的字元串代替7333,新的請求如下:
page=user-info.php?username=』jonnybravo』 AND 『a』='a』 etc..FALSE
page=user-info.php?username=』jonnybravo』 AND 『l』='l』 etc..TRUE
page=user-info.php?username=』jonnybravo』 AND 『s』='s』 etc..TRUE
page=user-info.php?username=』jonnybravo』 AND 『b』='b』 etc..FALSE
如上所示,第一個和最後一個查詢請求結果為假,另兩個查詢請求結果為真,因為當前的username是root@localhost,包含字母l和s,因此這兩次查詢在查詢字母表時會給出包含這兩個字母的用戶名。
「這就是用來與web伺服器驗證的SQL server用戶名,這種情況在任何針對客戶端的攻擊中都不應該出現,但我們讓它發生了。」
去掉了–current-user選項,使用另外兩個選項-U和–password代替。-U用來指定要查詢的用戶名,–password表示讓SQLmap去獲取指定用戶名對應的密碼,得到最後的命令如下:
SQLmap -r ~root/Desktop/header.txt --technique B -p username -U root@localhost --passwords
命令輸出如下圖所示:
Self-Critical Evaluation
有時可能沒有成功獲取到密碼,只得到一個NULL輸出,那是因為系統管理員可能沒有為指定的用戶設定認證信息。如果用戶是在本機測試,默認情況下用戶root@localhost是沒有密碼的,需要使用者自己為該用戶設置密碼,可以在MySQL的user數據表中看到用戶的列表,通過雙擊password區域來為其添加密碼。或者可以直接用下圖所示的命令直接更新指定用戶的密碼:
這里將密碼設置為「sysadmin「,這樣SQLmap就可以獲取到該密碼了,如果不設置的話,得到的就是NULL。
通過以上方法,我們不直接與資料庫伺服器通信,通過SQL注入得到了管理員的登錄認證信息。
總結
本文描述的注入方法就是所謂的SQL盲注,這種方法更繁瑣,很多情況下比較難以檢測和利用。相信讀者已經了解傳統SQL注入與SQL盲注的不同。在本文所處的背景下,我們只是輸入參數,看其是否以傳統方式響應,之後憑運氣嘗試注入,與之前演示的注入完全是不同的方式。