前言 本文仅供学习探讨之用，如果侵犯您的权益请联系我删除。 上文 [post cid="714"/] [post cid="1347"/] [post cid="1365"/] [post cid="1383"/] 前情提要 距离上一篇文章已经过去一年多了，前两天心血来潮找了最新版本研究了一下，熬了两天夜也没整明白，不打算继续研究下去了，做个笔记记录下分析过程。 @> 本文适用于小黑盒 1.3.191，小黑盒历史版本参考我的仓库 @> 全文评论后可见
前言 本文仅供学习探讨之用，如果侵犯您的权益请联系我删除。 上文 [post cid="714"/] [post cid="1347"/] 静态分析 之前解决了验证码参数hkey的计算，但是还有一种加密请求，本文就是找出他的加密方式 这是参加Roll房的请求，请求参数中并没有房间ID，猜测这个参数在加密后的请求体中。 @> 全文评论后可见 后续 [post cid="1383"/]
前言 本文仅供学习探讨之用，如果侵犯您的权益请联系我删除。 [...]
1. 普通站点开启SSL加密并强制使用HTTPS 多一层加密总没错 SSL证书可以用Let's Encrypt生成，记得打开强制HTTPS 2. 禁止使用IP访问站点 配合整站CDN可以避免暴露服务器IP，保护服务器安全 添加一个静态站点，域名解析可以不加 设置为默认站点 删除站点根目录下的404.html和index.html，用不着。 打开 【站点设置->SSL】创建一个自签名SSL证书 因为这个网站以后无法被访问，没必要使用正常的证书，所以使用自签证书以便于接管443端口的流量 （不然使用https://IP仍然能访问到你的网站，因为没有证书默认不能接管443端口的流量） 可以使用openssl生成，也可以在线生成 生成以后选择其他证书，把自签证书粘贴进去，强制HTTPS没必要开 打开 【站点设置->配置文件】 在如图位置加上return 444; 444代表服务器无响应，实际上浏览器也不会收到任何内容 效果 80端口HTTP协议： 443端口HTTPS协议： 这样就避免了他人用恶意的域名解析你的网站，IP访问和非绑定的域名都不会得到响应，隐匿程度++ 3. 反代面板，使用SSL加密，禁用面板端口 虽然面板也可以使用自签证书，但是……(我就是爱折腾) 添加一个静态站点，并设置域名解析 打开【站点设置->SSL】添加证书 SSL证书可以用Let's Encrypt生成，记得打开强制HTTPS 打开【站点设置->反向代理】 添加一条反代规则，【目标URL】填http://127.0.0.1:[面板端口]记得修改成当前使用的端口，默认是8888 关闭面板自带的BasicAuth认证（提示信息会暴露服务器IP） 码掉的是服务器的IP，话说就不能自定义消息内容的吗 关闭自带的BasicAuth认证 创建用户名-密码文件 命令行下输入，最后一行的chrxw_com可以自己取名，记得把下面的chrxw_com改成一样就行。yum -y install httpd-tools cd /www/server/nginx mkdir basicauth chmod 755 basicauth cd basicauth htpasswd -c chrxw_com [BasicAuth用的用户名，不是宝塔面板的用户名] 输入密码，生成密码文件 修改文件权限chmod 644 chrxw_com 文件名可以自己修改，下面的路径也改成对应的就行 打开【站点设置->反向代理->配置文件】 添加以下内容到红框处#提示消息可以自定义,但是使用中文和特殊符号貌似会乱码 auth_basic "need to login in first"; auth_basic_user_file /www/server/nginx/basicauth/chrxw_com; autoindex on; 绑定面板IP和域名请先确保你能使用设定的域名访问宝塔面板 请先确保你能使用设定的域名访问宝塔面板 请先确保你能使用设定的域名访问宝塔面板 如果不行说明有步骤错了请从头来过 域名填刚刚创建的站点的域名，IP填127.0.0.1，即只允许本机访问 因为设置了反向代理，所以可以使用域名访问面板 如果使用IP:端口来访问宝塔面板会提示IP未被授权 关闭宝塔面板端口 查看开放的端口 firewall-cmd --list-all 删除面板端口firewall-cmd --zone=public --remove-port=[面板端口]/tcp --permanent firewall-cmd --zone=public --remove-port=[面板端口]/udp --permanent 重载防火墙规则 firewall-cmd --reload 开放端口-1，安全性+1