用Ruby实现的论坛灌水工具:CC98 Post Machine
介绍
ZJU 的校网论坛 CC98 比较活跃。论坛只对校内网开放,而且账号跟学生绑定,每个学生注册的账号数量有限。『十大』是 CC98 的经典页面:基于关注的人数(回帖的用户数而不是回帖的数量)用算法求出 24 小时内最火爆的十个发帖。很多同学都会浏览十大,关注论坛动态。
故事就是从十大引出的。有的社团在宣传活动时,为了扩大宣传面,会发动成员的小马甲顶贴上十大。这种违背社区自然发展轨迹的手段,强奸了关注十大贴的用户的意愿,阻碍了信息的自由流动。
于是萌生了完成一个批量发帖的机器,以其人之道还治其人之身的想法。在下次十大被宣传贴攻占时,能有反击的工具。
工具的用途很简单:使用不同的用户身份模拟真人论坛回帖,增加帖子关注度,以抵抗宣传贴。流程如下:提前收集各路亲朋好友的用户信息作为『预备水军』,『灌水』时,在评论内容文件中输入自定义的评论内容,在命令行参数中制定目标贴,即可实现随机顺序的用户自动顶贴。鉴于现在的功能是顶贴竞争十大,而十大排名是根据关注人数也就是独立用户评论数量做排序的,这里设计的顶贴策略是一个马甲发一条评论。以后可以考虑增加灵活的配置方案,实现更多功能。
项目 Github 地址:https://github.com/biaobiaoqi/CC98PostMachine/
介于这个工具本身的罪恶的攻击属性,在此强调,工程仅供学习交流和对抗宣传贴。
使用说明
1.准备顶贴用户
发帖的 HTTP 请求为 POST 请求。系统验证信息中需要有发帖用户的 username,userid 和 hash 后的 password,这些都能从 cookie 中获得。
有两种方式设置水军的信息:
(1)浏览器中获取 cookie
在浏览器中,找到 cookie 的内容。将对应的三项信息抽取出来后,填入water_army.yml文件,由于该文件涉及用户隐私信息,项目中设置了.gitignore,不会上传到 repo 中。可以参照water_army.yml.example的格式自行修改。
(2)使用RegWaterArmy工具导入
如果不想手动的查找 cookie 信息,也可以将账号、密码输入到pre_water_army.txt文件中,执行命令来获取相关信息。
在pre_water_army.txt文件中,一行为单位输入用户名和密码,中间用空格隔开。同样由于隐私原因,repo 中没有上传该文件,可以自行将pre_water_army.txt.example改为pre_water_army.txt,然后填入内容。
填入账号、密码后,在 src 目录下运行如下命令:
1 |
|
即可自动获取用户的 cookie 信息,并导入water_army.yml文件中。注意,安全起见,完成这一步后,尽量删除账号、密码等隐私信息。
2.准备评论
在comments.txt文件中,设置用户评论的内容,每行一条。现在的设计是保证回帖的顺序与文件中的内容顺序一致。如果用户数量超过了文件中的评论条数,则回复时循环使用comments.txt中的评论。建议自行设计评论,且评论数大于等于水军数量。同样需要用户自行修改comments.txt.example为commnets.txt后使用。
3.执行
来到 CC98PostMachine 的 src 目录,执行:
1 |
|
其中BOARDID和POSTID可以在浏览器的地址栏的相关帖子的 URL 中找到,SPEED是设定的两个回帖之间的间隔时间,实际回帖时间做了如下的模糊:SPEED + random(SPEED)。
1 |
|
下一步:
修复 bug:第一次执行命令时,都只有一个用户能成功回复。(是服务器端的对 cookie 的记录?)
整理代码结构,解耦,增加配置灵活性,写的更 ruby 一点
原文地址:http://biaobiaoqi.me/blog/2013/11/05/cc98-post-machine/
版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
用Ruby实现的论坛灌水工具:CC98 Post Machine的更多相关文章
- 2014.06.20 (转)IEEE与论坛灌水
转自"饮水思源" 电子类学生大都知道IEEE, 这个IEEE就像一个大的BBS论坛,而这个协会下面有很多杂志,比如图像处理,信号处理,微波技术等.这些杂志就是论坛下的分版 ...
- ML的灌水现象
(http://demonstrate.ycool.com/post.3137870.html) 看了几天 paper 和书,发现自己果然就是 zt好多东西就是不懂,那些人做的真快,我才建立起一种大致 ...
- nodejs-QQ空间灌水
在本地编写javascript代码,node环境下命令行内运行,请求网页实现给QQ好友留言. 1.登录QQ空间,给好友留言,在开发者工具中打开网络面板,在network中找到addXXX开头的请求. ...
- QA 、 QC & QM软件测试入门专业名词解释 -- 灌水走起
灌水正式开始: 说明:我的农田,我灌水 一.QA . QC & QM: 1.QM QM 是quanlity management,中文名称是品质管理 2.QA QA是英文quality ass ...
- 【BZOJ】1601: [Usaco2008 Oct]灌水(kruskal)
http://www.lydsy.com/JudgeOnline/problem.php?id=1601 很水的题,但是一开始我看成最短路了T_T 果断错. 我们想,要求连通,对,连通!连通的价值最小 ...
- bzoj1601: [Usaco2008 Oct]灌水
经典延伸最小生成树问题... #include<cstdio> #include<cstring> #include<cctype> #include<alg ...
- BZOJ 1601 [Usaco2008 Oct]灌水
1601: [Usaco2008 Oct]灌水 Time Limit: 5 Sec Memory Limit: 162 MB Description Farmer John已经决定把水灌到他的n(1 ...
- php灌水
<?php $data=array('name'=>'paul','mail'=>'paulversion@163.com') $data=http_build_query($dat ...
- 1601: [Usaco2008 Oct]灌水
1601: [Usaco2008 Oct]灌水 Time Limit: 5 Sec Memory Limit: 162 MB Submit: 1342 Solved: 881 [Submit][S ...
随机推荐
- [算法系列之二十七]Kruskal最小生成树算法
简单介绍 求最小生成树一共同拥有两种算法,一个是就是本文所说的Kruskal算法,还有一个就是Prime算法. 在具体解说Kruskal最小生成树算法之前,让我们先回想一下什么是最小生成树. 我们有一 ...
- Ruby(面向对象程序设计的脚本语言)入门
Ruby是一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言. 简单介绍 Ruby 是开源的,在Web上免费提供,但须要一个许可证. Ruby 是一种通用的.解释的编程语言. Ruby 是 ...
- 装饰模式和python装饰器
装饰器和装饰模式 先给出两者的定义: - 装饰器:装饰器是一个非常著名的设计模式,常常被用于有切面需求的场景.较为经典的有插入日志.性能測试.事务处理等. 装饰器是解决这类问题的绝佳设计.有了装饰器, ...
- android请求
//请求 HttpURLConnection conn = (HttpURLConnection)new URL(path).openConnection(); conn.setConnecTimeo ...
- js json简介(json的本质也是字符串)(用于服务器和客户端通信)
js json简介(json的本质也是字符串)(用于服务器和客户端通信) 一.总结 1.json的语法和js的语法非常像,只是json的键和值都是双引号,因为json的本质也是字符串 2.json是一 ...
- linux的几个内核镜像格式Image 和 u-boot启动内核和文件系统时的一些环境变量的设置
关于编译powerpc linux的几个Image参考原文 http://blog.sina.com.cn/s/blog_86a30b0c0100wfzt.html 转载▼ PowerPC架构 L ...
- Fragment为载体可自己主动布局的CardView(GitHub上写开源项目初体验)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 前些天一直在看Android5.0 的Material Desgin,里面新增 ...
- [Angular2 Animation] Control Undefined Angular 2 States with void State
Each trigger starts with an “undefined” state or a “void” state which doesn’t match any of your curr ...
- html表单元素及表单元素详解
原文 https://www.jianshu.com/p/b427daa8663d 大纲 1.认识表单 2.认识表单元素 3.表单元素的分类 4.表单元素——文本框 5.表单元素button 6.表单 ...
- Xcode5新特性之注释
Xcode5新特性之注释 Xcode5在注释式文档方面也有进步,越来越象javadoc. Xcode4 参考一下教程 http://blog.chukong-inc.com/index.php/201 ...