首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开发和测试易受攻击的登录系统

开发和测试易受攻击的登录系统
EN

Security用户
提问于 2020-05-31 12:06:23
回答 2查看 348关注 0票数 1

我是一个新手,想成为专家(希望如此),我已经被指派在网上测试安全系统。整个任务是准备、测试和记录与实际工作相关的结果.作为一个软件开发背景的人,我在信息安全系统和它们是如何工作的逻辑上是坚实的,但我与实际的一面斗争。

任务是准备并通过SQL注入实现一个登录表单。我也有一个网站开发的背景,但从来不了解后端的事情。开发带有易受sql注入影响的后端数据库的登录表单的最佳方法是什么(我是菜鸟,所以最简单和最易受攻击的登录表单会做什么)?

  • 我需要CMS吗?(这都是在沙箱环境中进行的)
  • 我需要一个用于SQL的服务器吗?
EN

回答 2

Security用户

回答已采纳

发布于 2020-05-31 13:03:39

在我看来,准备和测试易受SQL注入影响的登录页面的最简单方法是不使用CMS,如下所示:

  1. 准备包含包含“用户名”和“密码”字段的POST表单的HTML网页
  2. 准备一个包含“用户”和列“用户名”和“密码”的DB。用几个可信的条目手动填充它。
  3. 准备一个PHP页面,该页面接收POST并打开一个DB连接,搜索匹配的DB记录,在这两个值匹配的地方。
  4. 根据是否找到匹配项,您应该返回不同的消息并打开会话。
  5. 使用软件SQLmap或OWASP自动测试页面和/或使用本地代理(例如Fiddler)手动测试页面

关键是易受攻击的PHP页面通过串接字符串形成SQL查询(这允许攻击者伪造查询的结束部分,绕过登录或从DB提取信息)。非易受攻击的页面应该使用准备好的陈述构建查询。如果您使用CMS,那么您应该使用它自己的登录或反SQL注入安全特性。

一个正确的登录页面也会包含其他安全控制,如帐户锁定、密码哈希等,但我认为它们超出了您的练习范围。

票数 1
EN

Security用户

发布于 2020-05-31 15:16:32

我需要CMS吗?(这都是在沙箱环境中进行的)

不,不是真的。

我需要一个用于SQL的服务器吗?

对于执行sql注入,您肯定需要sql服务器处理sql查询并省略数据。

这项任务是准备并通过SQL注入实现一个登录表单。

从开放源码易受攻击的应用程序中获取代码指导,以便在社区中进行实践。例如,您可以在设置不同难度的“DVWA”应用程序之后,研究php代码中的更改。这几乎是作弊,如果你从那里复制代码,但我的动机,引导你到那个资源,是为了帮助你了解不同的阶段,在那里的代码改进,以及什么地方出了问题。还有其他开源的易受攻击的应用程序,可以自由地尝试它们,以了解程序员如何在不同的编程语言中犯错误。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/232478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档