【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 ...
随机推荐
- CSS样式链接和文字常用属性
行内: <div style="color:red;"></div> 内嵌<style>div{background-color:red;}&l ...
- Potplayer播放器使用笔记
Potplayer播放器使用笔记 1.暂停-播放的快捷键是 空格键2.C播放视频的加速倍数3.X播放的时候减速的倍数 Tab键:显示一下播放的信息,很多 Enter键:全屏或是缩小播放窗口 全屏拉伸快 ...
- 剑指Offer_编程题_16
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. /* struct ListNode { int val; struct ListNode *n ...
- spring创建bean模式singleton与prototype的区别
spring 创建bean有单例模式(singleton)和原始模型模式(prototype)这两种模式. 在默认的情况下,Spring中创建的bean都是单例模式的(注意Spring的单例模式与Go ...
- java io系列19之 CharArrayWriter(字符数组输出流)
本章,我们学习CharArrayWriter.学习时,我们先对CharArrayWriter有个大致了解,然后深入了解一下它的源码,最后通过示例来掌握它的用法. 转载请注明出处:http://www. ...
- I/O exception (java.net.SocketException) caught when processing request: Connect
Exception [一个故障引发的话题] 最近,项目中的短信模块收到一个故障日志,要求我协助调查一下: 2010-05-07 09:22:07,221 [?:?] INFO httpclient. ...
- Kettle系列: 马进举开源的Kettle通用插件 KettleEasyExpand
扩展Kettle功能, 经常使用 user defined java class 组件, 或者自己开发Java插件. 两种方式都有各自的痛点: 1. 在user defined java class ...
- Redis实战(九)Redis的典型应用场景
序言 数据缓存 共享Session 分布式锁 https://www.cnblogs.com/wangrudong003/p/10627539.html Redlock(redis分布式锁)原理分析 ...
- TCP简单回射程序
一.程序功能 (1)客户从标准输入读入一行文本行,并写给服务器: (2)服务器从网络输入读入这行文本,并回射给客户: (3)客户从网络输入读入这行回射文本,并显示在标准输出上 二.服务器程序 #inc ...
- gcd 二进制/循环
#include<bits/stdc++.h> #define LL long long using namespace std; inline aabs(LL x){ ?x:-x;} i ...