建议:对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
有很多这样的代码。