【php】下载站系统Simple Down v5.5.1 xss跨站漏洞分析
author:zzzhhh
一、 跨站漏洞
利用方法1,直接在搜索框处搜索<script>alert(/xss/)</script>//',再次刷新,跨站语句将被带入数据库,并直接在热门搜索处输出。
漏洞产生原因,因为未对输入变量进行编码,跨站语句未经转换直接存储入数据库中。见图1,
图1
二、代码分析
先看index.php 53-54行代码是这么写的,javascript获取ID为search的input表单传参到tools.php文件中的seacher变量中。。。
<input type="text" id="search" maxlength="64" style="width:400px; height:26px;" placeholder="点击搜索按钮查看结果" value=""/>
<button type="button" style="width:80px;height:35px" onClick="javascript:send_request('tools.php?seacher='+document.getElementById('search').value);">搜索</button>
。。。。省略N行
//63-65行代码
<?php echo $row['SEACHERDATA']; ?> //输出变量SEACHERDATA
<span class='hover-animate-left'></span><span class='hover-animate-right'></span></a>
<?php } ?>
那我们根据seacher,SEACHERDATA两个变量在\tools.php文件中进行搜索后 ,关键代码34-61行代码,好吧,我把整段选择结构的代码发过来吧
if (empty($seacher))
{
$result=mysql_query("SELECT * FROM HBDX_BLUE ".$show);
$num_max=mysql_num_rows($result); $result=mysql_query("SELECT * FROM HBDX_BLUE ".$show." ORDER BY TOP ".$hot." LIMIT $startCount,$perNumber");
}
else
{
$datetime = date("Y-m-d H:i:s");
$seacherresult = mysql_query("SELECT * FROM HBDX_SEACHER WHERE SEACHERDATA = '".$seacher."'"); /*查询SEACHERDATA表内的内容输出到seacherresult变量*/
$seachernum = mysql_num_rows($seacherresult); /*统计搜索次数*/
if($seachernum == 0)
{
mysql_query("INSERT INTO HBDX_SEACHER (SEACHERDATA,SEACHERNUM,DATETIME) VALUES ('$seacher',1,'$datetime')"); /*查询热门搜索关键词次数为0后,将该关键字写入表SEACHERDATA内*/
}
else
{
$row = mysql_fetch_array($seacherresult); /*遍历seacherresult变量结果赋值到row中*/
mysql_query("UPDATE HBDX_SEACHER SET SEACHERNUM = '".($row['SEACHERNUM'] + 1)."' WHERE SEACHERDATA = '".$seacher."'");
} $result=mysql_query("SELECT * FROM HBDX_BLUE WHERE FILETITLE LIKE '%".$seacher."%'");
$num_max=mysql_num_rows($result); $result=mysql_query("SELECT * FROM HBDX_BLUE WHERE FILETITLE LIKE '%".$seacher."%' OR FILETAG LIKE '%".$seacher."%' ORDER BY TOP,ID DESC LIMIT $startCount,$perNumber");
$num=mysql_num_rows($result);
}
http://www.wooyun.org/bugs/wooyun-2010-037204
wooyun 这篇关于此系统的漏洞提交迟迟不公开。小弟打算开个下载站,选择了Simple Down v5.5.1这个系统,无奈只能自己亲自动手,才疏学浅,哪位兄弟可随我一同继续深入分析此系统漏洞?
【php】下载站系统Simple Down v5.5.1 xss跨站漏洞分析的更多相关文章
- XSS跨站及利用
(一)软件测试环境以及搭建 测试环境:本地 XAMPP 1.7.1 测试软件:PHP168整站v5.0 软件下载地址 http://down2.php168.com/v2008.rar PHP.ini ...
- 云锁Linux服务器安全软件安装及防护webshell、CC、XSS跨站攻击设置
无论我们在使用电脑,还是使用VPS/服务器的时候,最为担心的就是服务器是否有安全问题,尤其是网站服务器再遭受攻击的时候如何得到防护.对于大 部分站长用户来说,我们可能只会使用基础的环境,如果真遇到问题 ...
- XSS跨站攻击
目录 1 XSS跨站攻击简介 1 1.1 什么是XSS 1 1.2 XSS的分类 1 1.3 XSS的危害 1 2 XSS的攻击原理 1 2.1 本地式漏洞攻击 1 2.2 存储式漏洞攻击 2 2.3 ...
- XSS跨站脚步攻击及防范
XSS(Cross Site Script)跨站脚本攻击.它指的是恶意攻击者往Web 页面里插入恶 意html 代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达到侵害用户 ...
- 修复XSS跨站漏洞
XSS跨站漏洞最终形成的原因是对输入与输出没有严格过滤. 1.输入与输出 在HTML中,<,>,",',&都有比较特殊的意义.HTML标签,属性就是由这几个符合组成的.P ...
- 可以用到的XSS跨站语句
我们常用的测试XSS跨站的语句一般是alert比如: <script>alert(“sex”)</script> <script>alert(/sex/)</ ...
- DVWA的Xss跨站总结
Xss跨站总结 初级防护的代码 Poc:<script>alert(1)</script> 上图防护的代码 为输入的结果就为输出的结果 中级防护的代码 Poc:<scri ...
- Laravel5中防止XSS跨站攻击的方法
本文实例讲述了Laravel5中防止XSS跨站攻击的方法.分享给大家供大家参考,具体如下: Laravel 5本身没有这个能力来防止xss跨站攻击了,但是这它可以使用Purifier 扩展包集成 HT ...
- WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等
核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Websh ...
随机推荐
- 剑指Offer_编程题_12
题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. class Solution { public: double Power(d ...
- XenServer中虚拟机和快照导出与导入
我们在工作中经常会遇到,把Xenserver中的虚拟机或者快照导出,然后导入到另一台Xenserver,或者导出来备份下来,以防虚拟机出现故障. 下面介绍一下用xe命令如何导出/导入虚拟机或快照,当然 ...
- springboot下整合各种配置文件
本博是在springboot下整合其他中间件,比如,mq,redis,durid,日志...等等 以后遇到再更.springboot真是太便捷了,让我们赶紧涌入到springboot的怀抱吧. ap ...
- 使用git遇到的一些问题
上传github时忽略.DS_Store方法 这个文件在mac中是管理文件夹的位置之类的信息,所以并没有必要上传到git中,这个时候就需要用git.gitignore文件来忽略此类文件. 在默认情况下 ...
- Part-Four
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
- mybatis字符串转义问题
问题描述 @Select("select * from account order by #{orderBy} #{orderRule} limit #{start},#{offset}&q ...
- jsp登录注册
只帖源代码,,,,不讲解. 1.Login.jsp <%@ page language="java" import="java.util.*" pageE ...
- gcc 编译 汇编 链接
要想研究使用 gcc, gcc-multilib 这个包是一定要安装的, 它允许通过 -m32 和 -m64 选项来选择生成 32 位或者 64 的 ELF 文件. 我们知道程序的默认起点是 _sta ...
- Vue.js入门系列教程(三)
序言
- electron-vue项目搭建
参考:https://simulatedgreg.gitbooks.io/electron-vue/content/cn/getting_started.html 1. cnpm install -g ...