扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
(一)--简单上传漏洞
小弟我初次学习黑客技术,苦于找不到师傅,只能自己慢慢的摸来摸去(感觉像xx找不到洞),看着漫天飞舞的黑客,感觉就像看上帝,突然有一天突发奇想,别人既然把某个网站或者某个程序拿下来让大家down,那不就意味着这个程序也许存在着重大的漏洞,即使是通过系统漏洞拿到的程序,我想,既然程序都在我手里了,尤其是对于某些需要输入用户名密码才能进入的某些系统,应该也能找到一些可以利用的漏洞。既然有了想法,说干就干,先看一下某一个国家xxx局的国家级信息网站。
对于菜鸟来说,高级黑客就是我们的上帝,他们提供的各种入侵工具,让我们的入侵变得极为简单,例如海洋木马,我们只需要想想怎么把他上传上去就行了。
废话少说,现解压缩这个文件到自己机器上--晕,900M的压缩包,吸根烟,自己煮方便面吃,回来,解压缩好了,然后恢复数据库,iis配置一下,在自己机器上运行看看,运行正常,程序完整。
先按照最傻的思路,看一下他的数据库连接语句,发现用户是sa,密码是xxxxxx,然后用sqlexec连一下,提示不正确——废话,这么长时间了,而且说不定知道自己的网站已经流传,网管都不修改密码,那不是sb是什么?
然后再朝最基本的网站攻击方式,上传asp木马来考虑。搜索一下我机器上那个网站文件中间所有文件名含有up的文件——发现n个upload.asp,uploadfile.asp,upflie.asp,打开文件所在文件夹,发现用的是无组件上传,如果没有经过修改,这个上传是无法限制上传asp程序的,厚厚,开始一个一个看,仔细研究一下,发现有很多地方限制了,但是有两处没有限制——失误啊失误,一处是文章管理,只有管理员添加文章时候可以上传,打开数据库,找到管理员表,发现只有一个admin管理员,密码是md5加密,暂时放弃。然后就是一个投资管理平台,是按照省份划分的,找到用户表,发现密码是明文,先用湖南省的用户名密码登陆,tnnd,修改了,没关系,一个一个试验,哈哈,运气不错,找到一个xx省的,用户名密码没有修改,进入平台,到了我自己的发布管理中,提交信息,发现有上传图片,用的正是刚才找到的upload.asp文件,实验上传一下,成功。
以后的操作就简单了,找到conn.asp发现居然还使用sa用户连接,密码换了一个,没说的,sqlexec连接,成功,执行cmd命令,呵呵,也成功,网管真的是个xx,此后添加用户,开3389,留后门,自是后话。发现上面有很多系统和网站,收获颇丰。
不过过了几天,发现我上传得asp木马——不管多隐蔽的都被删除了(经过修改的,防病毒软件应该找不到吧),晕,可能管理员经常察看iis日志,还是什么原因,后来用了冰狐浪子的可以,又用了插入到图片中的方法加上映射,也可以,而且给自己留了n多用户,以备使用。
综述:实践出真知,大家多动手。也许有人说,别人进入过的,我们再进,吃别人吃过的,多恶心,但是菜鸟就是菜鸟,高级的编程不行,我们可以从别的方向进行突破,不但可以演练一下我们学习到的技巧,说不定还有意外的收获。
(二)——攻破上传时候js判断文件类型
这次我们的目标是一套管理软件,我个人对asp程序的管理型软件比较感兴趣。偶然一次机会,发现了一套xx行业的管理软件,而这套管理软件还有很多行业版本,因为鄙人是菜鸟,问高手要的时候没有一个人搭理我,于是只能自己想些办法。
先在网上搜索一下这套管理软件,哈哈,运气很好,有在线演示,同样的,其他的管理软件都有在线演示,ping一下,发现所有的管理软件演示是在一台服务器上,实在是太好了。我已经有了第一套的asp源代码,相信找出来漏洞只是迟早的事情。
同样先配置一下本机的管理软件运行,找到可以上传文件的地方——例如本软件的资源管理里面的上传,选择海洋木马,上传,发现弹出对话框,您上传的文件必须为.............,乱七八糟一堆文字,意思就是不能上传asp程序了,于是就不看他了,看一下文件中上传的我们还是找一下上传文件,upload.asp,所有的上传都是用的这一个文件,程序非常严谨,而且用了组件,但是却没有发现任何限制文件类型的语句,这个时候,任何人都会怦然心动,哈哈,一定是js进行的限制,我们看过很多文章,我们只需要保存一个页面,然后修改一下提交路径,就可以上传任意的文件了,在这里,我们有了源代码,连页面都不用保存,本机运行后,修改一下路径,就可以直接提交。
好,回过头来,看程序,刚才我们进入了资源管理的添加功能,出来了上传界面,右键,察看源文件,faint,居然用的网页对话框,没有办法新建窗口,也没有办法察看源文件。晕了。这个时候我们打开本机这个程序的文件夹,找到并打开上一个出现添加按钮的页面的源代码,研究一下,发现弹出的对话框中的文件为xxxxxxx/xxxx/xxx/update.asp文件,好,找到这个文件,打开,呵呵,果然,有这样一段js
if(s=="" ││ ";gif;jpg;png;wav;mid;mp3;zip;rar;lha;avi;mpg;mpe;ppt;doc;xls;txt;js;css;exe;swf;pdf;htm;xsl;xml;mdb;log;".indexOf((";"+s+";").toLocaleLowerCase() )<0)
{
alert("文件扩展名必须为"gif;jpg;png;wav;mid;mp3;zip;rar;lha;avi;mpg;mpe;ppt;doc;xls;txt;js;css;exe;swf;pdf;htm;xsl;xml;mdb;log"!")
document.Upload.Image.focus();
return(false)
}
立刻del它,再找提交的路径
method=post encType=multipart/form-data>
这个时候我们要注意,在上传文件中,一直有一个判断权限的function,这就意味着,如果想提交到远程的网站,我们不但要在action后面输入网络上的Update.asp的绝对路径,还要具有远程程序运行的权限,也就是说我们在运行本机的程序之前,要登录一下远程这个管理系统的演示,要不然,我们是没有权限上传的。
好了,修改完毕,终于到了最后一步,打开我们本机的程序,运行,打开远程演示程序运行,点击我们这里的某个目录下的上传,然后去到远程程序的相应目录下找,哈哈,真的上传了一个asp文件,不过文件名变得稀奇古怪,但事扩展名还是asp,后面一个下载的按钮,点击一下,海洋2005的界面就立刻出来了。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。