找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 945|回复: 0

谈跨站式攻击(XSS)实战与漏洞修补

[复制链接]

735

主题

1102

回帖

3076

牛毛

二级牛人

积分
3096
QQ
发表于 2009-7-10 15:54:23 | 显示全部楼层 |阅读模式 来自 山东省威海市
  发这篇文章还是想说明一下,黑客在我个人认为是一个褒义词,而不是大家所认为的那些偷鸡摸狗之小人。
  现在做一个网站,也非常简单,买一个域名,一个空间,在网上下载一套CMS,一个站就成立,而很多这样的站长朋友,其实对网站脚本方面是不懂的,所以当网站被黑,很少有人直接去源码找原因。
  今天的实战案例就以"网域高科行业B2B商务平台"为案例,这个以前国内有人分析过,但是只说了程序漏洞的利用,并没有提及如果修复。
 
  文章也是比较长,所谓外行看热闹,内行看门道,就装一回内行和大家一起分开来进行一些交流。
  在leaveword_save.asp文件里有一些变量没有过虑,下面是7到43行代码:
  

  图中所示:3个变量没有经过什么过滤直接入库
  由于没有进行任何特殊符号的过滤,攻击者就可以任意构造跨站语句(跨站攻击的特殊性,用户名和联系方式处由于限制了字符入库的长度,所以攻击者选择了入库字符比较长的"反馈内容")
  

  进入提交之后,后台显示效果
  

  由于有了前面的XSS跨站漏洞,当管理员进入后台,点击反馈信息进行查看时,被XSS跨站攻击。
  当然跨站式攻击不能直接获得网站后门,所以攻击者又对网站常见的"数据库备份"源码进行了分析。
  这个后台有数据库备份功能,我们要做的是利用管理员身份替我们备份出一个WEBSHELL来,先看看他的数据库备份代码是怎么写地,在admin\System\admin_backdb.asp文件中的108到129代码如下:
  

  攻击者可以先上传一个RAR的马儿,然后在数据库路径里填上,马的地址为:"/oledit/UploadFile/200712/2007121544821758.rar",这里需要注意的是路径一定要填对,否则备份就会不成功的。改动好的代码如下:
  

  把这个保存为XX.jpg上传到服务器,因为HTML改成JPG是可以解析的,路径为:oledit/UploadFile/200712/200712155756468.jpg,在
  意见反馈里写上如下挂马语句:
  

  这样当管理员看到时就会自动备份出WEBSHELL来了,如图
  

  

  知道了整个过程,我们就可以在源码处进行漏洞修补,先看一下我给出的漏洞修补方案。
  

  

  当把这些特殊符号进行转换过滤后,入库的信息将不会产生跨站效果,可以有效防止跨站攻击的产生。
  以上如有不足请各位指点并指出,谢谢观看。
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-4-24 22:06 , Processed in 0.144098 second(s), 32 queries .

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表