一、弱口令
产生原因
弱口令的产生主要与用户的安全意识薄弱及个人使用习惯有关。为了便于记忆,用户往往设置简单的密码,或者直接使用系统默认的初始密码。
详细总结了网络安全领域常见的十大漏洞,包括弱口令、SQL 注入、文件上传、XSS、CSRF、SSRF、XXE、远程代码执行、反序列化及目录遍历。针对每种漏洞,文章阐述了其产生原理、潜在危害以及具体的防御策略,涵盖代码示例与安全配置建议,旨在帮助开发者构建更安全的 Web 应用架构。

弱口令的产生主要与用户的安全意识薄弱及个人使用习惯有关。为了便于记忆,用户往往设置简单的密码,或者直接使用系统默认的初始密码。
攻击者利用弱口令可以轻松进入后台管理系统修改资料,侵入金融系统盗取资金,访问 OA 系统获取企业内部机密文件,甚至控制监控系统进行实时监控,造成严重的数据泄露和财产损失。
设置强密码应遵循以下原则:
当 Web 应用向数据库传递 SQL 语句时,如果未对用户输入的参数进行严格过滤或转义,攻击者可以构造特殊的 SQL 语句,将其作为代码执行。
将用户输入的数据当作可执行的代码来处理,违背了'数据与代码分离'的安全原则。
String sql = "SELECT * FROM user WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, userId);
select, union, drop 等)。若服务端未对上传文件的类型、内容或后缀名进行严格验证,攻击者可上传恶意脚本文件(如 .php, .jsp, .sh),从而在服务器上执行任意代码。
.jpg, .png)。攻击者在网页中嵌入客户端脚本(通常是 JavaScript),当其他用户浏览该页面时,脚本在用户的浏览器上下文中执行,导致会话劫持或数据窃取。
< 转为 <)。攻击者利用目标用户的身份(已登录状态),诱导用户点击恶意链接或提交表单,从而在用户不知情的情况下执行非本意的操作。
Strict 或 Lax。攻击者构造恶意的 URL 发送给服务端,服务端在未做校验的情况下发起请求,导致攻击者通过服务端访问内网资源或外部服务。
http://127.0.0.1:8080/admin)。file:///etc/passwd)。http 和 https 协议。127.0.0.1, 10.x.x.x, 192.168.x.x)。应用程序解析 XML 输入时,未禁用外部实体加载,攻击者可定义外部实体引用恶意文件或内网资源。
libxml_disable_entity_loader(true);dbf.setExpandEntityReferences(false);etree.XMLParser(resolve_entities=False)<!DOCTYPE 和 <!ENTITY 关键字。应用程序调用系统命令函数(如 system, exec)时,若攻击者可控制传入参数,即可拼接恶意命令执行。
eval, system, exec 等函数。程序对用户输入的序列化字符串进行反序列化时,未验证数据完整性,攻击者可构造恶意对象触发代码执行。
Web 应用在处理文件路径时,未对用户输入的文件名进行充分校验,攻击者可通过包含 ../ 等字符访问服务器上的受限目录。
config.php, .env)。.. 片段。/ 或 \ 等特殊字符。
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online