今天,笨鸟站长要讲的是脚本攻击法,通过一些脚本错误漏洞对网站进行非法攻击,当然,这里面包括权限的获得、html代码攻击、错误攻击等等!说白了,就是不管用什么手段,只要能把别人的脚本程序给破坏了,就算成功,通过这几天的入侵来看,有点心得,所以今天写出来给大家。
先说说什么是脚本程序,像javaScript、ASP、CGI、PHP、JSP等等都算是脚本程序,如果你连什么是ASP、CGI、都看不懂,那本人建议您还是别看了!呵呵,先把基础学好来。从基础里钻出来的,才是最黑的。
我想,今天我们还是不讲如何得到程序代码了,这些写出来相信也不会有太多的人懂,以后再写吧,嘿,可能大家会说了“站长就是一个十足的懒汉,说什么我们不懂?其实就是懒得写!”呵!!!我管不了啦!改天再说!
首先,先讲怎么饶过密码登陆验证吧!至今为止,还有相当一部份网站存在 1’ or 1=’1 漏洞,看得懂的就知道了,这句程序是一个欺骗语句,里面有一个登陆框,知道用户名后,如果在密码框里填入 1, or 1=’1 就可以饶过验证,直接登陆其用户,这种方法大家明白就好,现在这种漏洞很少了,不过实在没招的时候,还是可以试试的。
还有一种漏洞利用,也同样可以饶过验证,比如一些网站的留言板,是多用户的,你可以申请的一个,然后登陆高级管理,有的会在在浏览器的地址栏里显示您的用户ID,比如,我有一个留言本是http://www.sinofeng.com/cgi-bin/lyb/gb.cgi?id=benhack 这里面benhack就是我的ID,如果我把这个ID换成别人的,很有可能就可以饶过验证,进入他人的管理页面,从而得到最高管理权限。至现在为止,这种漏洞还是很多的,就连当当书店的广告计费系统都有这毛病,幸好他使用的ID较长,一般不容易猜到。这个方法很容易,应该是首选入侵方式,大家可以通过一切非正常的登陆方法来获得权限,前段时间少天版主说的那个陈氏猎人留言本也有这个漏洞,从而利用,取得删改权限,并且突破html过滤功能。
现在我们再讲讲脚本错误漏洞,在过去我黑过一个这样的留言本,他可以通过直接路径回复留言,虽然回复的内容不显示于留言板上,却使这个脚本发生了一个大错误,就是屏蔽了留言板上的删除编辑功能,也就是说,我可以让我发的贴子永远的保留在那个留言板上,就连管理员也删不掉,并且使这篇贴子很不规则,表格样式完全变形,反正看上去,就会让人讨厌,呵呵!大家还可以对脚本发送一些不规则的请求,让程序发生错误,以致脚本崩溃。比如JSP,这种脚本大家没理由不知道,这种语言有一个错误请求漏洞,比如有一页http://www.benhack.com/index.jsp ,按正常请求就是http://www.benhack.com/index.jsp ,带攻击性的请求就是:http://www.benhack.com/%24e.////////index.jsp 给他一段错误路径,通过浏览器提交给服务器,完成后,再试试正常请求,您将会看到当页显示错误信息,嘿!!试试看吧,不是百试百灵,但绝对是个好方法。(注:以上请求在浏览器地址栏上输入,按回车即可)
接下来,我们讲讲非法提交,这招很管用的喔,学会了,可以提交一些被网页限制的信息,简单的举个例子,很多时候,我们会遇到这样一个问题,申请的时候,总是会弹出一些错误信息,比如”对不起,您还未输入邮箱地址”或者输入框做了字符限制,有的只能输入数字,有的不能输太长,遇到这种情况,我们就要先判断这些限制是由哪里执行的,提交后马上就弹出限制信息的,一般都是当前页面限制的,字符限制就更不用说,如果提交后才返回的限制信息,那就麻烦一点了!这肯定是被人用了if 语句进行限制过滤了,这种情况就得知道他的源程序才能下手了。那怎么看源程序呢?嘿,下次再说,今天还是讲讲当前页面限制的非法提交吧,首先,我们打开被限制的注册网页页面,单击鼠标右键,里面有一条项是“查看源程序”选择它,这时会显示一个用记事本记录的代码,这些就是当前网页的源代码,在里面找找,里面有一个以post方式的文件,一般都与当前的文件扩展名一样,比如,我的论坛是LB论坛,是用CGI编写的,扩展名是*.CGI,这样,这个论坛里的注册页提交文件就是register.cgi ,句子是这样写的:
<form action="http://www.benhack.com/bbs/cgi-bin/register.cgi" method=post name="creator" enctype="multipart/form-data">
以上程序里面的http://www.benhack.com/bbs/cgi-bin/register.cgi ,就是我们注册信息所提交到的脚本程序文件,现在我们可以通过,对这个文件进行直接写入,比如,我们要注册一个用户名为benhack 密码:1245 邮箱:benhacker@21cn.com 的账号,就在浏览器的地址栏里输入http://www.benhack.com/bbs/cgi-bin/register.cgi?inmembername=benhack&password=1245&password2=1245&emailaddress=benhacker@21cn.com 完成后回车即可在数据库里添加一个名为benhack的账号,以上这段地址中inmembername是这个表单的提交的用户名,可以以下代码段中找到,“nime=” 的那个就是,
<tr>
<td bgcolor=#C5D3E6 width=40%><font color=#565656><b>用户名:</b><br>注册用户名不能超过12个字符(6个汉字)</td>
<td bgcolor=#C5D3E6 width=60%><input type=text maxlength="12" name="inmembername"> * 此项必须填写</td>
</tr>,
看到这里相信有的人已经看明白了,password、password2和emailaddress都可以在代码里找到,或许有的人问,这样我们又能用它来干嘛呢?嘿,比如,用户名限制了输入的字符“注册用户名不能超过12个字符(6个汉字)”这个时候我们就可以利用非法提交输入超限制的字符了,当然,这个LB论坛还不会这么菜,当提交给http://www.benhack.com/bbs/cgi-bin/register.cgi后,register.cgi程序就会对这些信息进行分析过滤,最后弹出一句话,“老大,别黑我啊”呵呵,遇到这种情况,就只有下载一个LB论坛自已去研究源代码了。这个例子只是告诉你突破限制的方法,在实际操作中,还会遇到很多问题的,比如说,点击右键无效等等~~~~
最后我们讲一讲html代码攻击吧!这个对于一些论坛、留言板来说,可以算是核武器了,如果成功写入并执行一段html窗口炸弹代码,那你就算把他的论坛留言本给黑了。可能会有网友说,这种漏洞现在根本就不存在了,现在的论坛留言脚本都对访问者的输入进行过滤,是的,现在当你在留言板中输入一段<a href=”http://www.benhack.com”>笨鸟先黑联盟网站</p>,懂html语言的人就明白,正常执行示应当是一个笨鸟先黑网站的链接,可经过过滤后,插入网页中的代码就中是这么写的了,它会把“<”和 “>”过滤成“<”和“>”,基本上在网页上看到的还是“<”和“>”,但作用在代码中就完全不同了。这种过滤方法有很多,有的比较菜的程序员就会让我们有机可乘,比如曾经本人尝试过在“贵族留言板”中加入代码,只要在加入的代码前后加双引号就可以跳过过滤验证。应用这种攻击需要大量的尝试,从返回的网页代码中找问题、钻漏洞,学会用右键查看网页源代码,这很重要,因为只是从生成后的页面是看不出问题的。还有,绝大多数论坛都存在这样一个问题,就是对用户的个人资料不进行过滤,我们可以通过更改自定义头像路径、个人主页、邮箱、等等项目插入一段代码,这段代码一般都能顺利通过的,经本人测试,至少有50%的论坛留言板有这项漏洞,现在你知道怎么用了吗?呵呵,再详细一点吧,就拿“极限论坛”来说,我们先注册一个用户,然后登陆修改个人资料,里面有一项是自定义头像的,可以让你输入头像图片链接的,我们只要在输入链接的文本框里输入:face/1.gif"><img src="javascript:n=1;do{window.open(')}while(n==1)" width="1">"
就可以在论坛里捣乱了,因为这段代码是写在自定义的头像里面的,所以,只要有显示你头像的地方,就会疯狂的打开窗口,不论你是发表还是回复,碰过的地方就完蛋,呵呵,对了,也许有的网友会说,以上的窗口炸弹代码:{window.open(')}中少了一个单引号,呵呵,这是我故意的,要不就不会爆炸了,因为极限论坛的作者很搞笑,对这项输入的过滤只是让一个单引号变成两个,所以,我们输入两个单引号的时候,就生成四个,这就不对了,灵活一点,你两个生两个,我就给你一个,嘿,看你生几个,再生一个就够数了,刚好两个单引。好了,别的论坛我就不讲了,思路都差不多,只要改改炸弹代码头头尾尾就行,懂得思路了,相信大家一天内可以黑几十家论坛了。
这些都是站长的一些心得,比较简单,易懂,相信大家应该会有些收获,好了,写了这么长,破记录了!等过几天,再教你们怎么获得程序的源代码,猴急的网友可先到http://www.benhack.com/art/main.cgi 去看看相关ASP、php、CGI等等的一些漏洞,不错的。