seacms sql注入

原创 2016年08月30日 20:16:12
最近在代码审计,审到一个注入,提交,说重复了,好尴尬啊。
源码下载:http://www.mycodes.net/47/7976.htm
在/i.php,获取ip的时候,全局的ip获取是做了正则。不知道问什么这里重新进行了一次ip的获取。
<?php
session_start();
require_once("include/common.php");
require_once(sea_INC."/main.class.php");

$i=file_get_contents("data/admin/i.txt");
if($i==0){showmsg('系统已经关闭积分推广系统', 'index.php');exit;}

$u=addslashes($_GET['uid']);
if(empty($u) OR !is_numeric($u)){showmsg('无法获取目标用户ID', 'index.php');exit;}

function get_client_ip() { 
    if(getenv('HTTP_CLIENT_IP')){ 
        $client_ip = getenv('HTTP_CLIENT_IP'); 
    } elseif(getenv('HTTP_X_FORWARDED_FOR')) { 
        $client_ip = getenv('HTTP_X_FORWARDED_FOR'); 
    } elseif(getenv('REMOTE_ADDR')) {
        $client_ip = getenv('REMOTE_ADDR'); 
    } else {
        $client_ip = $_SERVER['REMOTE_ADDR'];
    } 
    return $client_ip; 
} 
$bip = get_client_ip(); 

$row = $dsql->GetOne("Select * from sea_ie where ip='$bip'");
//print_r($row);
if(!is_array($row))
{
	$dsql->ExecuteNoneQuery("insert into sea_ie values('','$bip',NOW())");
	$sql="Update sea_member set points = points+$i where id=$u";
	$dsql->ExecuteNoneQuery("$sql");
	showmsg('感谢您的支持,现在将自动跳转到首页', 'index.php');exit;
}

$i 的值通过查看/data/admin/i.txt。$i=2;所以积分推广系统没有关闭,继续执行下面的代码:
可以看到

$bip = get_client_ip(); 

$row = $dsql->GetOne("Select * from sea_ie where ip='$bip'");
//print_r($row);
if(!is_array($row))
{
	$dsql->ExecuteNoneQuery("insert into sea_ie values('','$bip',NOW())");
	$sql="Update sea_member set points = points+$i where id=$u";
	$dsql->ExecuteNoneQuery("$sql");
	showmsg('感谢您的支持,现在将自动跳转到首页', 'index.php');exit;
}

$bip没有过滤就已经查询和入库了,所以造成注入,这里要对$uid进行了赋值,结果如下:




版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

[漏洞分析] Wolf CMS 的漏洞

此漏洞的编号为:EDB-ID:36818    OSVDB-ID:120877 软件的官网为:https://www.wolfcms.org/ Wolf CMS是一种内容管理系统,并且免费。其由PHP...

海洋CMS6.28命令执行漏洞

0x00 代码审计 area参数处理过的地方经过字符是否非法判断之后,调用echoSearchPage()函数 area参数经过了检测是否是拼音之后 接下来到了 $content=$main...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

Seacms漏洞分析利用复现 By Assassin

碰到了cms,之前一直没有真正的分析过,趁着没事干准备复现一个seacms的漏洞复现,但是经过一系列的苦痛挣扎发现—–搭个环境神特么难…一开始我想用ubuntu直接搭建,但是我用的是php7,而各大s...

Seacms6.45最新前台getshell漏洞

Seacms最新的版本为6.45 更新后的版本存在着一个前台getshell问题
  • pygain
  • pygain
  • 2017-02-20 17:18
  • 2264

seacms sql注入

最近在学习代码审计,审到一个注入,提交,说重复了,好尴尬啊。 源码下载:http://www.mycodes.net/47/7976.htm 在/i.php,获取ip的时候,全局的ip获取是做了正则。...
  • ZZZJX7
  • ZZZJX7
  • 2016-08-30 20:16
  • 2228

SQL注入常用手法

1.首先确定是否存在注入点 http://192.168.16.128/news.php?id=1 http://192.168.16.128/news.php?id=1'     出错或显示不正...

如何在开发中避免SQL注入

如何避免SQL注入攻击可以使用Statement中的子接口实现类PreparedStatement来避免SQL注入攻击PreparedStatement表示预编译的SQL语句的对象,Sql语句是预编译...

【牛刀小试】——浅析SQL注入

引言   SQL注入在当前编程中是非常重要的话题,在较大的Web项目中程序员都在编程的过程中避免SQL的注入,因为有很多网站信息的泄露都是因为恶意的SQL注入造成的,比如先前的很多影视网站泄露VIP会...

三步堵死SQL注入漏洞

SQL注入是什么?   许多网站程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码(一般是在浏览器地址栏进行,通过正常的www端口访问),根据程...

SQL注入#和$区别与总结

1.#{} 将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。 如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)