建议:对fcblog简单分析

注释:1:古代或注射孔。



看看主页,做得很好,有一个着陆点,如图1所示。







二话不说,试试'或' = '或',

在登陆点击。我没想到会直接来。让我们在login.asp看起来,和关键代码如下:



——#包括文件=conn.asp-->!

fcblog



使用






一:古代或注射孔。



看看主页,做得很好,有一个着陆点,如图1所示。







二话不说,试试'或' = '或',

在登陆点击。我没想到会直接来。让我们在login.asp看起来,和关键代码如下:



——#包括文件=conn.asp-->!

fcblog



用户登陆

功能del_space(S)

{

为(i = 0;i)

为(J = s.length-1;J > = 0;——J)

{

如果(s.charat(J)!

打破;

}

返回s.substring(I,J);

}

Function VerifySubmit ()

{

主题= del_space(文档。1。名字。值);

如果(topic.length = 0)

{

警告(忘记写用户名了!)

返回false;

}



如果(document.form1.pwd.value = = )

{

警告()请输入密码!);

返回false;

}

返回true;

}



只有Javascript做了一个本地决定,以确定用户名和密码是否也是空的。

没有其他文件来确定数据,当然没有过滤,没有注入也就不奇怪了,如图2所示。







二:跨站点漏洞。



首页上有一个留言页。我们去看看吧!直接输入多个帧:警报(

冰的起源,如图3所示







提交,这并不奇怪,对话框跳出来,也

两次,如图4所示







这里有个问题。让我们看看我们在页面上提交的文本,如图5所示。







为什么只打两次,而不是第三次我们右键单击-查看源文件并找到



以下代码:



标题:内容:



警报( ICE源/)



留言



在2007年7月14:16:41标题:KK含量:



kkkkkkkk给消息2007-8-29 23:31:38

也就是说,程序将内容传递的值转换成一个值,只对它们进行一次过滤。啊,程序员太马虎了。



三:真与假注射。



让我们先把程序放入工具中,看看是否有明显的注入,如图6所示。







很明显,这些工具是无能为力的。

我明白了,大部分页面都是静态的,有些人会问,它们是静态的,可以被注入。

你报名吗它的静态页面是由JS调用生成的,几乎每个页面都包含以下代码:

如果(页= totalpage)然后

生成HTML静态主页

设置FSO = server.createobject(脚本。FileSystemObject )

Fso.CreateFolder(server.mappath())

集的FOUT = fso.createtextfile(server.mappath(msgpost .html))

fout.writeline显示

fout.close

response.redirectmsgpost .html

结束如果% >



因此,当传递值时,该值不会被过滤,代码如下所示:

打开模板代码并将特殊代码转换为可接受的值。

SQL1 =选择ID,user_skin_main,user_skin_showlog从fc_moban哪里

默认值

集RS1 = server.createobject(ADODB。记录集)

rs1.open SQL1,Conn,1,1

user_skin_main = RS1(user_skin_main )

user_skin_showlog = RS1(user_skin_showlog )

rs1.close

有很多这样的代码。