const UpFileType="rar|zip|exe|mpg|rm|wav|mid" 定义了可以上传的文件类型 ... dim EnableUpload 定义了是否允许上传的关键变量 ... FoundErr=false 默认FoundErr变量为假,即没有发现错误(哈哈,关键变量哦,看下面) EnableUpload=false 默认EnableUpload变量为假,即不能上传(哈哈,关键变量哦) ... for each formName in upload.file列出所有上传了的文件(!关键,注意这个FOR循环!) set ofile=upload.file(formName) 生成一个文件对象 ... arrUpFileType=split(UpFileType,"|") 取得定义的可以上传的后缀名 for i=0 to ubound(arrUpFileType) if fileEXT=trim(arrUpFileType(i)) then EnableUpload=true hoho,EnableUpload变量改变了! exit for end if next if fileEXT="asp" or fileEXT="asa" or fileEXT="aspx" then 呵呵,只要是ASP,ASA,ASPX的后缀就废掉了,难怪海洋顶端上不去阿! EnableUpload=false end if if EnableUpload=false then msg="这种文件类型不允许上传!\n\n只允许上传这几种文件类型:" & UpFileType FoundErr=true hoho,FoundErr变量改变了! end if ... if FoundErr<>true then 又是一个重要地方,看来FoundErr变量是能否上传的关键,那如何决定FoundErr变量呢?(草草虫ps:偶可以瞪大了眼睛看啊) randomize ranNum=int(900*rnd)+100 生成一个随机数 filename=SavePath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt 没有改变上传文件的后缀,爽阿 ... ofile.SaveToFile Server.mappath(FileName) 保存文件 response.write "软件上传成功!软件大小为:" & cstr(round(oFileSize/1024)) & "K" strJS=strJS & "parent.document.myform.DownloadUrl1.value=" & fileName & ";" & vbcrlf 晕拉~还返回上传后改的名字,这回好了,不用猜了。 strJS=strJS & "parent.document.myform.SoftSize.value=" & cstr(round(oFileSize/1024)) & ";" & vbcrlf 注:...表示省略了部分代码
具体的漏洞原理分析,我不想多说了,因为有太多的人分析了,我这里只分析"if fileEXT="asp" or
fileEXT="asa" or fileEXT="aspx" 这一句,这一句他定义了上传的类型,很多人还在后面加个了
<% dim ArticleID,sql,rs ArticleID=Clng(trim(request("ArticleID"))) if ArticleId="" then response.Redirect("Default.asp") end if sql="select * from article where ArticleID=" & ArticleID & "" Set rs= Server.CreateObject("ADODB.Recordset") rs.open sql,conn,1,3 if rs.bof and rs.eof then response.Write("
找不到文章
") else %>
替换为:
<% const ChannelID=2 Const ShowRunTime="Yes" dim tLayout,tUser PageTitle="正文" strFileName="Article_Show.asp" if ArticleId<=0 then FoundErr=true ErrMsg=ErrMsg & "
请指定文章ID
" end if if FoundErr=True then call WriteErrMsg() else %>
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支 持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
实用命令实例
默认启动
tcpdump
普通情况下,直
MO= Mobile originate,上行,即用户上发给SP的信息。MT= Mobile Terminate,下行,即SP端下发给用户的信息;
上行:mo提交短信到短信中心下行:mt短信中心向特定的用户转发短信,你的短信是这样的,你所提交的短信,投递的地址是短信中心。短信中心收到你的短信后,存储转发,转发的时候就会根据你填写的接收方号码寻找路由,下发。在彩信领域是一样的道理。下行业务:由SP
import java.util.Arrays;
import java.util.Random;
public class MinKElement {
/**
* 5.最小的K个元素
* I would like to use MaxHeap.
* using QuickSort is also OK
*/
public static void
添加没有默认值:alter table Test add BazaarType char(1)
有默认值的添加列:alter table Test add BazaarType char(1) default(0)
删除没有默认值的列:alter table Test drop COLUMN BazaarType
删除有默认值的列:先删除约束(默认值)alter table Test DRO
Spring Boot 1.2.4已于6.4日发布,repo.spring.io and Maven Central可以下载(推荐使用maven或者gradle构建下载)。
这是一个维护版本,包含了一些修复small number of fixes,建议所有的用户升级。
Spring Boot 1.3的第一个里程碑版本将在几天后发布,包含许多