前两篇文章介绍了攻击者通过构造SQL语句来获得“非授权信息”,都是停留在数据库层面的,其实它的威力可不仅仅止于此吆。如果DB管理员有疏忽,再加上页面有注入漏洞,危害不仅仅像前两篇最终网站后台沦陷搞不好整个系统都有可能被人控制。
测试环境跟上一篇相同, MSQL + asp.net + win7。前面已经拿下了管理员用户名、密码,我们还是使用新闻详细页面 ( 方便测试,不设防 ):
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

