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跨站漏洞分析的更多相关文章

  1. XSS跨站及利用

    (一)软件测试环境以及搭建 测试环境:本地 XAMPP 1.7.1 测试软件:PHP168整站v5.0 软件下载地址 http://down2.php168.com/v2008.rar PHP.ini ...

  2. 云锁Linux服务器安全软件安装及防护webshell、CC、XSS跨站攻击设置

    无论我们在使用电脑,还是使用VPS/服务器的时候,最为担心的就是服务器是否有安全问题,尤其是网站服务器再遭受攻击的时候如何得到防护.对于大 部分站长用户来说,我们可能只会使用基础的环境,如果真遇到问题 ...

  3. 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 ...

  4. XSS跨站脚步攻击及防范

    XSS(Cross Site Script)跨站脚本攻击.它指的是恶意攻击者往Web 页面里插入恶 意html 代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达到侵害用户 ...

  5. 修复XSS跨站漏洞

    XSS跨站漏洞最终形成的原因是对输入与输出没有严格过滤. 1.输入与输出 在HTML中,<,>,",',&都有比较特殊的意义.HTML标签,属性就是由这几个符合组成的.P ...

  6. 可以用到的XSS跨站语句

    我们常用的测试XSS跨站的语句一般是alert比如: <script>alert(“sex”)</script> <script>alert(/sex/)</ ...

  7. DVWA的Xss跨站总结

    Xss跨站总结 初级防护的代码 Poc:<script>alert(1)</script> 上图防护的代码 为输入的结果就为输出的结果 中级防护的代码 Poc:<scri ...

  8. Laravel5中防止XSS跨站攻击的方法

    本文实例讲述了Laravel5中防止XSS跨站攻击的方法.分享给大家供大家参考,具体如下: Laravel 5本身没有这个能力来防止xss跨站攻击了,但是这它可以使用Purifier 扩展包集成 HT ...

  9. WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等

    核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Websh ...

随机推荐

  1. Hadoop记录-Hive调优:让任务并行执行

    set mapred.job.queue.name=pms;   //设置队列set hive.exec.reducers.max=8;  //设置最大的reducersset mapred.redu ...

  2. 加密PDF文件的打印问题

    工作中遇到网上下载的PDF文件加密,并且不能打印 解决方法: 1.解密: 去网站下载解密软件,1M左右:http://www.onlinedown.net/soft/19939.htm 直接解压,运行 ...

  3. Chrome DevTools: Export your raw Code Coverage Data

    The Code Coverage tool visually shows you which lines of code in your CSS and JavaScript are used an ...

  4. vue-router路由

    Vue Router 是 Vue.js 官方的路由管理器 自动全局安装: vue create 项目名称 手动配置: 1.安装 在app项目文件夹里面 npm i vue-router 2.在min. ...

  5. python中\r的意义及用法

    \r的意义 \r 表示将光标的位置回退到本行的开头位置 \b表示将光标的位置回退一位 在python里print会默认进行换行,可以通过修改参数让其不换行 (1) python2中可以在print语句 ...

  6. 细说java系列之泛型

    什么是范型 简言之,范型是Java支持在编译期进行类型检查的机制. 这里面包含2层含义:其一,可以使用范型进行类型检查:其二,在编译期进行类型检查. 那么,什么叫做在编译期进行类型检查?可以在运行时进 ...

  7. 解决浏览器跨域限制方案之WebSocket

    WebSocket是在HTML5中引入的浏览器与服务端的通信协议,可以类比HTTP. 可以在支持HTML5的浏览器版本中使用WebSocket进行数据通信,常见的案例是使用WebSocket进行实时数 ...

  8. Lua Doc生成工具

    Luadoc http://keplerproject.github.io/luadoc/ Overview LuaDoc is a documentation generator tool for ...

  9. 【noip 2015】普及组

    T1.金币 题目链接 #include<cstdio> #include<algorithm> #include<cstring> using namespace ...

  10. 面向对象 ( OO ) 的程序设计——创建对象

    本文地址:http://www.cnblogs.com/veinyin/p/7608000.html  为了避免大量重复代码产生,可采用以下方法创建对象 1 工厂模式 function createP ...