Xiuno BBS 积分插件购买负数漏洞修复

插件:

积分插件
tt_credits
Markup

说明:

用户可发布主题购买需支付货币为负值,其他用户购买后将从发布者账号扣除货币给到购买者账号,多账号可进行刷货币。
Markup

 

此用户发现漏洞
username:root1
uid:1679
Markup

修复:

路径:/plugin/tt_credits/hook/post_update_post_end.php
说明:编辑或更新主题会调用
$content_num = param('content_num');//下面添加
if($content_num < 0 ){//判断购买主题货币值小于零
    $content_num = 1;//小于零强制写为一
}
Markup
路径:/plugin/tt_credits/hook/thread_create_thread_end.php
说明:发布新主题会调用
$content_num = param('content_num');//下面添加
if($content_num < 0 ){//判断购买主题货币值小于零
    $content_num = 1;//小于零强制写为一
}
Markup
路径:/plugin/tt_credits/hook/post_message_after.htm
说明:发布或修改主题或会调用
找到<input标签添加oninput,如下
oninput="if(!/^[0-9]+$/.test(value)) value=value.replace(/\D/g,'');if(value>100)value=100;if(value<0)value=null"
限制最小值为0,最大值为100
Markup

追溯:

在SQL中进行查询整个论坛是否还存在此类主题
SELECT tid,content_buy,content_buy_type FROM bbs_thread WHERE content_buy < 0
Markup

在SQL中进行查询之前利用此漏洞刷货币的用户
SELECT uid,num,code,credit_type FROM bbs_user_pay WHERE num < 0
Markup

提示:

不确定修复完成后无其他问题,建议设置定时站外备份
Markup

更新网友补充内容:

路径:/plugin/tt_credits/hook/post_message_after.htm
说明:发布或修改主题或会调用
找到<input标签添加oninput,如下
oninput="if(!/^[0-9]+$/.test(value)) value=value.replace(/\D/g,'');if(value>100)value=100;if(value<0)value=null"
限制最小值为0,最大值为100

这个是错误的,100的地方最好改为999999不然会导致收费最高只能设为100高于100会自动变为100

内容看完了
© 版权声明
1:本网站名称:蜡笔傻新
2:本站永久网址:https://labishaxin.com/
3:本站部分内容收集于互联网,如果有侵权内容、请联系我们删除,不妥之处,敬请谅解
4:本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责
5:本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6:本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新
喜欢就支持一下吧
点赞13赞赏 分享
评论 抢沙发

请登录后发表评论