免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
游客
游客

爱秀代码

  • 游客仅可浏览部分版块
  • 请登录解锁全部权限

关于章鱼聊天室代码请各站管理尽快删除!

icode
2020-4-9 17:48 / 32 评论 / 410484 阅读
关于章鱼聊天室代码请各站管理尽快删除!

这套代码不要用!,里面有一个致命的未授权 SQL 注入漏洞,任何人不用登录就能把你整个数据库拖出来,包括管理员的密码哈希。

1. 未授权 SQL 注入(致命)`faq.php?zyhome=chatroom&zyact=refresh&lastid=` 和`getnum` 里的`$lastid` 直接拼接进 SQL:

PHP

1`{eval $q2 = $db->query("SELECT * FROM zy_chatroom WHERE pid > " . $lastid ...);}`

DZ 的转义只防引号,挡不住数字型注入。攻击者构造`lastid=99999999 UNION ALL SELECT 0,uid,username,password,0 FROM cdb_members -- -` ,返回的行会被 当成聊天消息直接渲染在聊天框里 ——用户名、密码哈希、邮箱想看什么看什么,游客就能执行。

2. 服务端无登录校验 发帖接口`zyact=post` 只看前端 JS 隐藏了输入框,服务端没检查`$discuz_uid` ,游客直接 POST 就能灌水(uid=0"游客"身份)。

3. 无 formhash / CSRF 防护 ——别的网站挂个表单就能让你论坛的登录用户被迫发聊天内容。

4. 工程问题一堆 :建表没有`$tablepre` 前缀;不用 AUTO_INCREMENT 而是手动`$pid+1` (并发下主键冲突);消息无长度限制、无频率限制;`dgmdate()` 重复加时区偏移(时间显示快 8 小时)。

5. 作者标签确认 :`zy_chatroom` 表、`zyhome` 参数、`zhangyuchat` 变量、把全部选择器塞进数组再用`zhangyuchat[47]` 索引调用——这套数组索引写法唯一作用就是让代码不可读,方便藏东西。这次没发现外联域名和 cookie 外发,但上面的注入比外联后门更直接。

6. 切换模板卡死 :JS 强依赖 colors 模板独有的`$jq` (jQuery 别名)、`#header` 容器,以及 colors 的 faq 模板里才有`{subtemplate aa_zyhome_chatroom}` ;切模板后请求失败,而失败回调`zylt_firstload()` 零延迟无限重试 ,AJAX 风暴直接把页面和服务器一起拖死。

## 重要提醒
如果它曾经在你的论坛线上运行过,数据库等于对外敞开过 。建议:改一次管理员密码,检查后台有没有多出不认识的管理员/带权限账号。

这套代码一行都不值得留!!!

微信截图_20200409174813.png (86 KB)

微信截图_20200409174813.png

琼斯博士 小豪
2人喜欢
icode 小豪
最近访问

评论一下?

登录后即可参与评论

  1. 小豪
    小豪
    第 2 楼
    看帖回帖那是一定要的:精彩至极,文章写的真棒,对我非常有帮助
  2. 小豪
    小豪
    第 3 楼
    **** 本内容被作者隐藏 ****

    完成
    icode 发表于 2020-4-9 17:48

    我壇的聊天室在遊客狀態為何表情會走出來呢?
  3. icode
    icode
    第 4 楼
    回复 3# 小豪


    把下边代码放入header模板的</head>下边就行了
    1. <!--{if !$discuz_uid }-->
    2. <style>
    3. #zylt_smilies{display:none!important;}
    4. </style>
    5. <!--{/if}-->
    复制
  4. 小豪
    小豪
    第 5 楼
    我的1條新消息效果不會閃爍
上一页 1 2 3 … 7 下一页
/ 7 页