前兩篇文章介紹了攻擊者通過構造SQL語句來獲得“非授權信息”,都是停留在數(shù)據(jù)庫層面的,其實它的威力可不僅僅止于此吆。如果DB管理員有疏忽,再加上頁面有注入漏洞,危害不僅僅像前兩篇最終網(wǎng)站后臺淪陷搞不好整個系統(tǒng)都有可能被人控制。
測試環(huán)境跟上一篇相同, MSQL + asp.net + win7。前面已經(jīng)拿下了管理員用戶名、密碼,我們還是使用新聞詳細頁面 ( 方便測試,不設防 ):
public partial class NewsInfo : System.Web.UI.Page { protected NewsModel _news = new NewsModel(); protected void Page_Load(object sender, EventArgs e) { var id = Request["id"]; var sqlStr = "select * from news where id=" + id; var sqlCon = SqlHelper.GetConnection(); try { var ds = SqlHelper.ExecuteDataset(sqlCon, CommandType.Text, sqlStr); if (ds.Tables[0].Rows.Count <= 0) return; _news.Title = ds.Tables[0].Rows[0]["title"].ToString(); _news.Text = ds.Tables[0].Rows[0]["text"].ToString(); &nbs