揭露88red生成htm静态页面企业建站系统漏洞第1/2页

作者:小帥(xsser)@[0.S.T] 
本文已发表在《黑客手册》第4期,转载请注明出处,或以超链接方式注明:http://blog.0kee.com/xiaoshuai 小帥's blog
很久没去asp300溜达了,不去总觉得的对不起这个发布站的流量,也对不起黑客手册那么多读者的强烈要求(别扔鸡蛋!扔钱!),那好,既然牛都吹起来了,我不得不冒着生命危险看看代码吧,反正我下载下来的时候就觉得很伟大,这个系统很伟大,他吹的比我还大,好好,我们看他怎么说的:88red生成htm静态页面企业建站系统V3.0经过精心打造正式推出,集合了网站地图、企业新闻中心、企业产品、搜索、客户留言、下载、投票系统等等功能,基本涵盖了一个企业网站所需要的基本功能。其生成静态页面的功能为广大企业网站优化搜索引擎SEO,提供了最大的帮助。系统设计了新的美工,更加贴近企业网站效果。我们用事实说话。1、未过滤的留言版打开目录后发现conn.asp、config.asp等文件,那就看看吧,首先看config.asp里没有什么特别的,conn.asp里容错了(就是防止暴库了),没戏?当然有,我们看下conn.asp: 
<% on error resume next dim conn dim connstr dim db db="data/qiyedata.asa" Set conn = Server.CreateObject("ADODB.Connection") connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db) conn.Open connstr%> 
顺藤摸…乱摸吧,摸到啥就是啥,我摸到了数据库,还是asa的,我先想到了一句话这个东西,一句话?什么东西能和一句话连在一起呢?怎么让他入库呢?用户、留言、发布等地方,我看了一下根目录都是静态的,想想html注入行不?这个想法我先搁着,去看留言,留言都是静态的,唉!没事,继续…根目录下有个叫savegb.asp的文件,想想也知道是保存留言的文件,那就看他的过滤吧,片断如下: 
if request.form("code")="" then ‘验证码为空就“弹死你”response.write"<script language=javascript>alert('请填写您的名字');this.location.href='javascript:history.go(-1)';</script>"response.endend ifif request.form("content")="" then ‘你不写留言内容就剥夺你的发言权response.write"<script language=javascript>alert('请填写留言内容');this.location.href='javascript:history.go(-1)';</script>"response.endend ifset rs=server.createobject("adodb.recordset") ‘满足以上2个要求才让你去见数据库sql="select * from gb"rs.open sql,conn,3,3 
唉!文件头也就个conn.asp没什么防止或者过滤的,这样就造成2个结果:第1、直接写一句话得到shell。第2、跨站脚本攻击咯!先来看第一个办法,写一句话(前提数据库里没干扰),如图1
500)this.width=500;">
然后我们点击“提交”,这样我们的一句话就输入到asa的数据库了。我是小旋风,asa格式的文件不解析的,所以我换成asp,但是原理是一样的,我们来看图2
500)this.width=500;">
这样我们就成功的把一句话插到了数据库里,接着就是提权什么的。第2个,我们来看xss,由xss大家要马上想到有不有办法拿到webshell,比如利用管理员的session进行操作什么的,跨站得到webshell,某牛人写过,我们来看后台吧,后台验证的还行,至少我们的万能钥匙不再万能。片段如下: 
TheAdmin=Replace(Trim(Request("User")),"'","") ‘过滤了空格,并把单引号转换成空格Pass=Replace(Trim(Request("Pass")),"'","") ‘和上面一样的过滤。Set Rs=Server.CreateObject("Adodb.RecordSet")Sql="Select * From Admin Where admname='"&TheAdmin"'" 再进入数据库操作Rs.Open Sql,Conn,1,3If Rs.eof thenResponse.Write "<Script Language='javascript'>alert('对不起,此用户不存在!');window.location.href='Login.asp';</Script>"Response.EndElsePass1=Rs("admpass")If Pass1=Md5(Pass) thenSession("admin")=Rs("admname")Response.Redirect "Main.asp"ElseResponse.Write "<Script Language='javascript'>alert('对不起,密码错误!');window.location.href='Login.asp';</Script>"End IfEnd IfRs.CloseSet Rs=NothingConn.CloseSet Conn=Nothing 
End If 
没戏看了,单引号过滤了就被掐住了我们进后台的办法之一。继续看代码,思路现在整理一下,方便大家理解吧。留言过滤不严---à一句话入库---àxss---à后台验证很好,无法进入-à找到配置文件的文件头查看。2、利用漏洞1顺藤摸webshell我们用默认密码进去看看后台,啥白盒黑盒一起测试,测到webshell就是好tester,呵呵,废话不继续了,小心编辑扣小费,我们来看图3
500)this.width=500;">

当前1/2页 12下一页阅读全文

(0)

相关推荐

  • 揭露88red生成htm静态页面企业建站系统漏洞第1/2页

    作者:小帥(xsser)@[0.S.T]  本文已发表在<黑客手册>第4期,转载请注明出处,或以超链接方式注明:http://blog.0kee.com/xiaoshuai 小帥's blog 很久没去asp300溜达了,不去总觉得的对不起这个发布站的流量,也对不起黑客手册那么多读者的强烈要求(别扔鸡蛋!扔钱!),那好,既然牛都吹起来了,我不得不冒着生命危险看看代码吧,反正我下载下来的时候就觉得很伟大,这个系统很伟大,他吹的比我还大,好好,我们看他怎么说的:88red生成htm静态页面企业建站

  • 使用ASP.NET模板生成HTML静态页面的五种方案

    ASP.NET模版生成HTML静态页面方案1: 复制代码 代码如下: /// < summary> /// 传入URL返回网页的html代码 /// < /summary> /// < param name="Url">URL< /param> /// < returns>< /returns> public static string getUrltoHtml(string Url) { errorMsg = &

  • 使用PHP实现生成HTML静态页面

    从PHP生成HTML静态页面并存储到以年份和月份为名称创建的目录. 读取全部数据批量生成,全部生成后弹出提示. 可指定批次生成数量,建议不超过800,否则执行速度会有问题. (出于众所周知的原因,涉及到数据库的数据字段名称做了改动,并且为了代码明晰去掉了参数过滤的部分) 说明:原动态地址为 moban.php?id=1 ,生成后地址为 html/200808/sell_1.html .page.php为分页程序,本博客中有发布. 页面使用方式,将本代码保存为make.php,使用方法为浏览器访问

  • ASP中不用模板生成HTML静态页面的方法

    当然是可以的,而且非常简单,今天就教大家在ASP中不用模板生成HTML静态页的方法. 这里假设有一个htmer.asp动态页面,你想把它生成为HTML静态页面htmer.html,那么我们首先新建一个ASP程序文件htmer_to_html.asp(该文件就是用来将htmer.asp动态页面生成为静态页面htmer.html的),htmer_to_html.asp的具体代码如下所示: 复制代码 代码如下: <form method="post" action="&quo

  • php文章内容分页并生成相应的htm静态页面代码

    复制代码 代码如下: <?php $url='test.php?1=1'; $contents="fjka;fjsa;#page#批量生成分成文件并且加上分页代码"; $ptext ='#page#'; ContentsPages($url,$contents,$ptext) /** * 函数名:ContentsPages * 功能:文章内容分页 * 参数:$url文章内容页URL 类型string,$contents文章内容页内容 类型string,$ptext分页标识 类型s

  • PHP生成HTML静态页面实例代码

    为cd2sc.com网站功能而开发,代码为本人原创,生成速度一般. (出于众所周知的原因,涉及到数据库的数据字段名称做了改动,并且为了代码明晰去掉了参数过滤的部分) 说明:原动态地址为 moban.php?id=1 ,生成后地址为 html/200808/sell_1.html .page.php为分页程序,本博客中有发布. 页面使用方式,将本代码保存为make.php,使用方法为浏览器访问 make.php?t=数量&pg=页面:例如 make.php?t=300&pg=2,即每次生成3

  • 方便实用的PHP生成静态页面类(非smarty)第1/2页

    复制代码 代码如下: /*********************/ /* */ /* Version : 5.2.5 */ /* Author : liqiangwork#sohu.com */ /* QQ : 570937581 */ /* */ /*********************/ //-----------------------------生成静态的类------------------------------- class Makehtml{ public $MbUrl,$

  • 在文章管理列表直接生成HTML静态页面!(精)

    这个效果希望大家用得着 此主题相关图片如下: 一步搞定:修改admin/admin_article.asp 将1062行的       复制代码 代码如下: .Write ("<td align=""center""> <a href='?DisplayMode="&DisplayMode&"&Page=" & Page & "&Action=Edit

  • 比较详细PHP生成静态页面教程

    一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合,也可以类,函数封装等形式,以模板的方式对用户请求进行处理.无论以何种方式,它的基本原理是这样的.由客户端提出请求,请求某一页面 -----> WEB服务器引入指定相应脚本进行处理 -----> 脚本被载入服务器 -----> 由服务器指定的PHP解析器对脚本进行解析形成HTML语言形式 ----> 将解析后的HTML语句以包的方式传回给浏览器.由此不难看出,在页面发送到浏览器后,PHP

  • 在ASP中不用模板生成HTML静态页直接生成.html页面

    我们一般生成HTML静态页时,常常会事先做好一个模板,然后生成时调用模板文件.那么有没有办法不用模板,如一个正常的htmer.asp页面,直接生成为htmer.html页面呢?当然是可以的,而且非常简单,今天就教大家在ASP中不用模板生成HTML静态页的方法. 这里假设有一个htmer.asp动态页面,你想把它生成为HTML静态页面htmer.html,那么我们首先新建一个ASP程序文件htmer_to_html.asp(该文件就是用来将htmer.asp动态页面生成为静态页面htmer.htm

随机推荐