文章转载:逝情博客
看到这篇文章,觉得很不错,就转过来了
今天进坛子看下文章,表示看到篇很经典的文章,便转到博客来了,和大家分享下,表示很佩服这位骚年啊,我擦 ,各种佩服,耐心,细心,思路灵活,很不错。本文章的作者是:9999大牛,表示着是他坛子的ID名称。
0×01.起因—为了部落
0×02.踩点—硬柿子
0×03.主站碰壁—鼻青脸肿
0×04.分站进行时—未战即降
0×05.僵局中闪现突破口—完成任务
0×06.扩大战果遇奇葩—步步为营
0×07.总结—耐心,恒心,细心
0×01. 起因..
一个朋友玩这个平台的某游戏, 跟一后生骂起来了, 找我帮忙搞出这人资料..
0×02. 踩点
先随便看了看, 小收集一下资料.
主站连接全为phtml文件, 同IP有N个平台, 全是这家公司开的, 还有个开服表的站, 推送新开服内容全是其旗下平台的.. 恩.. 这个策略不错..
有个论坛, 每个平台指向的论坛地址不同, logo不同, 但是整合了ucenter的, 所以数据是相同的, dz x1.5架设, 同段不同服, [IP尾数差两位]
所有论坛地址加ucenter自动跳转同一个域名ucenter.****.com
恩, 目测创始站. Google下site:****.com inurl:php|asp|aspx|jsp, 出来的都是论坛, 语句改为site:www.****.com inurl:php|asp|aspx|jsp 噢.
Aucun document ne correspond aux termes de recherche spécifiés (site:****.com inurl:php|asp|aspx|jsp). 什么都没有..
主站于其他平台为同一服务器.
Hscan扫两个ip皆只开了80端口. http banner返回nginx,
测试文件尾名phtml phtmL, php pHp 确定都是linux服务器,
因未返回ngnix版本, 继续测试ngnix解析漏洞/.php, %00.php都失败. [两台服务器都测试了]
扫后台蛋都没扫出来.. 蛋开始隐隐作痛了..
0×03. 主站碰壁
在继续看主站..
新闻和公共的连接方式都是
http://www.****.com/index/news/gonggao/1103.phtm
http://www.****.com/index/news/news/4103.phtm
这样的, 像是htacsse rewrite了.
打开
http://www.****.com/index/news
http://www.****.com/index/
都返回404, htacsse重定向没得跑了.
继续测试
http://www.****.com/index/news/gonggao/1103-1.phtm
失败, cookie值中无可利用方向.
查看二级域名, 看看能不能有个admin.***.com之类的后台管理地址. 唉.. 只有www和bbs..
在看看论坛吧, 顺便开始尝试社工..进入公告发布板块看看管理员账户名, 同时
http://whois.domaintools.com/****.com 一下看看注册域名和管理域名的人的资料.
都是domain@****.com …而且
Email Search: [这是这个email的图片]is associated with about 23 domains
23个域名.. 估计其他那些平台也都是这个邮箱注册的了..
在确定一下,随便查了几个其他平台的域名资料.. 果然都是这个邮箱…
资料填写也都是公司地址, 电话为座机, 和官网上的联系我们的号码是同样的.
蛋.. 你肿么了..
0×04.分站进行时
公告板块翻了10几页, 发布公告人有13个以上.. ID都是GM0001-GM0024, ID都是20W+的.. 身份是编辑.. 用户组也改了名, 鼠标放到编辑二字上, 连接地址为home.php?mod=spacecp&ac=usergroup&gid=22 哦.. 因为dz从低级用户到管理员的groupID总共就10几个, 印象中.. 所以应该新建的用户组.. 不知权限如何.. 但估计很小..
点击名字查看资料却没有权限, 也懒得注册号去看, 因为应该还是没有权限的..
这里就给个小tip, 也不是什么漏洞, 算是代码过滤不严谨吧. 是前段时间无意中发现的,.
———————————–Tip开始———————————–
Dz很多版本, 具体没有测试, 就是未注册用户和普通用户是没有权限查看其他用户资料的.
就拿官网举例吧, 公告发布人有个Cnteacher, ID是859, groupID也是1,即管理员权限. 想进入空间看资料, http://www.discuz.net/home.php?mod=space&uid=859, 却显示’请先登录后才能继续浏览’
这时在url后面添加&do=index&view=admin 根据字面意思就是用admin权限浏览这个id的主页. 添加&do=profile&view=admin 就是用admin权限浏览这个id的个人资料. 如图
Ps:不要小看这些鸡肋的不算漏洞的漏洞, 有时能帮上大忙的. www.2cto.com
———————————–Tip结束———————————–
这不, 现在就用上了, 可惜查看资料什么有用的资料都没有得到, 在查看ID为1的用户和前几的用户.
=-=, admin的用户组是新手上路. 高端啊.
2到20的ID只存在2个, 一个是test另外一个是test2.. 蛋.. 你不要死..
蛋疼的在翻公告板块的帖子, 顺手试着已有的x1.5exp, 利索用当的失败.
同时惊喜的发现ID为GM0009的会员组为1. 管理员 这三个红红的大字看的我好开心.. 而且ID还有个9, 恩, 喜欢, 不过要是GM9999多好.. 虽然帖子内容中没发现什么有用的东西, 但起码有了安抚蛋的东西. 乖, 小蛋蛋, 不痛, 等下爆他菊花.
哦. 蛋蛋, 又让你失望了, 一点资料都没有留下.. 而目前得到的邮箱有两个, 一个是domain注册邮箱, 另外一个是联系我们中的hr邮箱… 即为hr@****.com ..
难道我还要扮演域名收购者和高级裸辞人员? Oh no, 这样的欺骗要念多少经来去除业障啊.. 还是先不要了..
0×05.僵局中闪现突破口
僵局啊..
在去http://www.whoismind.com/在看看这个邮箱所注册的域名有没有其他的..
啊哈, 还有个开服表的站的, 居然忘记了看这个了, 一般开服表的都是dede改的.. 看看这个是什么.
哇哦, 这.. 还是连着ucenter的, 弄的很漂亮啊, 和校内网很像啊.
看起来不是dede了, 还是抱着试一试的态度看了下plus/search.php , 果然404..
扫扫后台吧, 在google一下. 顺便看一下新服连接方式.
http://*******.com/?do=yx&key=&game=****
点击开始游戏的连接是
http:// *******.com/?mygamesid=3728
看上去游戏啊,
点击进入是直接跳转到游戏进入页面了, 试一下提交?mygamesid=3728-1, 没用.. 加’ 直接跳到主页了.. 各种测试失败.. 继续看..
页面上有个开服时间选择, 接着测试. 无果..
Google也没有任何有用的..
返回查看源代码, 看到开服时间选择哪里有两个变量, 一个是 ?newgamehrs=1 另外一个是?newgameday=2412这样的. 刚才在页面上只看到hrs=*的变量, 试试day的,
构造个url
http://*******.com/?newgamehrs=1&newgameday=2412-1
Omfg!!! 有了!!!返回的内容不同了, 和2411相同!!
存在注入!!!!! 不知过滤怎样..
?newgamehrs=1&newgameday=2412 and 1=1直接403了.. 换.
?newgamehrs=1&newgameday=2412/**/aNd/**/9=9
lmao!! 通过了, 跳转正确!!!!
?newgamehrs=1&newgameday=2412/**/aNd/**/9=9999
内容位置返回空白..Oh no.. 盲注吗… 你怎能不报错…
抱着侥幸的心态打开源代码.. 啊哈哈哈, rp爆发了!
报错了, 可页面上怎么没有显示呢? 在看页面, 看着那仿校内网的顶端工具条.. 我..好像明白了什么… 这尼玛把报错的内容挡住了..
哈哈哈, 不过心底的兴奋劲还是止不住, 继续扩展吧`
手工注入文章那么多, 就不详表了, 而且有工具能做到的东西, 就不费那个神了.
直接havij跑了, 替换几个敏感字符.
走你~
成功注出.
可等等, host ip怎么有点不对劲..
Target: http://******.com/?newgamehrs=1&newgameday=2412
Host IP: **.*.**.61
Web Server: nginx
DB Server: MySQL
Resp. Time(avg): 623 ms
Current User: ****.com@localhost
Sql Version: 5.5.28-log
Current DB: ******_com
Host Name: ******
Installation dir: /usr
System User: ****.com@localhost
Compile OS: Linux
DB User: ‘****.com’@'localhost’
Data Bases: information_schema
******_com
这里说一下,
库站是分离的,
在上面红色的地方, Ip尾数.. 这.. 又是另外一个同段服务器啊!!! 可刚才bing主站时明明查到这个站了! 换了? …
下划线的那个****.com是没见过的!! 不是之前遇到的任意一个!!
而且访问也无法打开, 查whois的注册人也是同一个邮箱.. 这是旧域名?
暂且先放下, 继续看.
Data bases 处只有******_com 这个域名是这个开服表的域名..
Where is ucenter? Where is uc_members? Where is username, password, email, salt????
Wtf…蛋蛋.. 好久不见.. 你怎么又痛了? 你还好吗?
不过既然有这个表, 就证明这站有后台, 有独立的发布系统, 对了, 看看后台扫的如何了.
[havij同时在以龟速跑着表名]
好多403.. 但没有一个是后台.. 根据之前的url命名方式试着构建了几个个类似?do=admin, ?do=login的url, 可还都是失败..
这时想起刚才那个诡异域名, 把域名前的字母加上, 没有, ****.com, 没有, ****admin, 没有, admin****, 没有.. 擦, 生成个字典在跑一下, 把这些域名都加上.. 跑吧..
[havij同时在以龟速跑着system_user的列名]
——这里顺便提一下sqlmap.. 为什么我用他的速度是蜗牛速呢… 这么鄙视xp吗…——
啊哈哈哈, 后台跑出来了, 尼玛http://******.com/****guanliyuanlogin/ [这个****是那个db user的域名的字母, 以后成之为X.]
很好, 任你有多复杂, 也要被爆菊.
havij同时在扫后台的时候成功跑出adminuser和adminpass的数据, 密码还是md5收费数据, 说实话, 我挺喜欢md5收费数据的, 因为既然是收费的, 就证明是复杂的, 就证明是有用的. 恩, 就是这个逻辑.
登陆成功, 后台很简陋, 我就不截图了, 怕被对号入座.
但是呢.. 只有两个功能.. 管理, 添加…
而且.. 添加只有5行..游戏, 服务器, 开服时间, 游戏地址, 注册地址.. 连上传的地方都没有..更不提拿shell了…
蛋, 你理理我, 虽然让你很痛, 可你总也该习惯了吧. 不要不理我啊… 恩, 我知道, 你是在为爆菊做准备对吧.
看到亲爱的蛋蛋那么胸有成竹, 无形中给我增加了许多信心. 我知道, 他的筹码就是那个跑出来的密码. xD
开始艰辛的尝试了…
–此处成略无数字.–
蛋.. 你们懂得..
这尼玛又这样了.. 对了, 这个站又是另外一个同段IP了, 看看这服务器上还有什么站.
…..只有他….
恩…. 在查一下X的二级域名..
Inner.x.com
Plan.x.com
哈哈哈, inner是个内部公告的站点, dede的!!!
直接用刚才跑出来的那个后台尝试连接, 成功!! 登陆, 成功!!!
接下来就dede后台直接拿shell! 轻轻松松, 就不写了!
查看数据库配置文件,
$ dbhost = ’192.168.1.9′;
$ dbname = ‘ Inner.x.com’;
$ dbuser = ‘ Inner.x.com’;
$ dbpwd = ‘ aduxNQCyRVxQRXh’;
$ dbprefix = ‘dede_’;
$ db_language = ‘gbk’;
在看下权限.
…
2.6.32…
算了, 权限应该足以跨站了, 直接跨到开服表那站, 查看配置文件, 果然有主站配置, 而且还有个//后了的配置, dbname是Plan.x.com.. 这个又是什么呢?打开这个网站,
返回403, Ip指向的是另外一个同段服务器.. **.*.**.65…
这….
算了, 既然有ucenter的数据了, 直接完成任务就好了.
不过.. 问题又出现了.. 我不知道那人的网站ID.. 朋友也只知道他的游戏账户, 还像个随机生成的名字…
只能试试找这个名字了..
果然没有…
有了, 让朋友去论坛骂他, 然后在游戏里告诉他, 不一会, 他果然去回帖了..
顺利查到邮箱,QQ,密码. 交给朋友, 搞定! 完美完成任务!
0×06.扩大战果遇奇葩
任务完成了, 可习惯性的还是要继续扩大一下战果嘛.
对那个plan.x.com很好奇, 看了下旁站, 什么都没有, 就去扫了下端口. 是批量端口, 因为这很可能是内部计划或什么东西, 好奇啊.
扫的过程中在继续拿主站shell, dzx1.5.. 最近遇到的几个都没拿到, 希望这个1.5不是最新版本, 在uc_admin里的管理员账户密码破不出来, update了一下, 等下在改回来.
好运的是, 通过插件漏洞成功拿下shell!!
这时**.*.**.65的端口扫出来了, 80,9527开放. 就是plan.x.com那站.
9527是什么..周星驰?? Web端口?? 有可能..
访问http://**.*.**.65:9527 返回403. 啊哈, 果然是web端口, 访问http:// plan.x.com:9527/ 返回登陆界面!!!
这里就不截图了, 防对号入座.
用之前在数据库中发现的取消掉的那段//后的账户密码登陆数据库成功!
可.. admin_user里的密码都解不开.. update成123465的密文也登陆不了.. 这怎么加密的.. 也没shell, 库站也分离, 看不到login啊..
对了, 试着把这里的几个管理员的username在uc_members里找找, 看看密码能不能解出来..
一共6个管理员, 他妹的解出来4个, 可一个都登陆不上!!..
在看看数据库, 有个表居然叫login_logs… 我.. 点进去看了看… 瞎了.. 明文记录登陆密码…..
感觉where username=”那几个管理员的name”
每个都出来无数个密码, 是整站登陆记录.. 查我自己的也有.. 6G数据…可惜有太多太多重复了..
不过貌似得到了好多有用的密码, 论坛创始人账户也登陆上去了.
是了那么多密码, 居然只有一个能登陆上plan.x.com..
可.. 登陆进去后居然显示.. 请输入矩形图C6的数字. 密保卡!!!!!!!!!我操!!!!我说脏话了!!!!!!
冷静…
在看数据库, 看到有个奇怪的列名’plamsecurity’ 这.. 是密保卡吧.. 我记录下得到明文密码的账户的此列记录, 在update清空他, 再次登陆. 成功! 哈哈哈! 不过权限略小, 原来还有个admin_group_id列, 改为1, 退出重新登陆, 成功!
很华丽. 很强大的后台, 拿下shell, 本想脱掉login的库.. 可一备份就500time out, 本想分卷打包, 可总共才100w+会员, 要6G.. 我要下载要多久.. 去重复要多久.. 蛋又开始隐隐作痛….
0×07.总结
三个词, 耐心, 恒心, 细心.
成功就是靠的那些不起眼的地方.
没什么高深的地方, 小菜文, 第一次写过程, 见笑了..
浪费大家这么多时间观赏. 谢谢.
图不多, 是在word上写的, 考虑到上传的问题, 尽量少放图了, 写的应该很详细了, 希望各位能留下您宝贵的看法. 谢谢.