红帝 发布的文章 - 第 17 页 - 网络编程与渗透技术笔记
首页
Search
1
Java编程小练习题目
24 阅读
2
Centos7.9系统如何换国内镜像源?
21 阅读
3
用Java编写九九乘法口诀表
18 阅读
4
PHP在线加密系统源码
18 阅读
5
全开源图床系统源码
17 阅读
Kali Linux
综合渗透注入
网站搭建与运维
编程开发
Java教程
Go教程
PHP教程
Python教程
MySQL
工具与脚本
网安竞赛
源码文件
漏洞百科
iAPP
登录
/
注册
找到
207
篇与
红帝
相关的结果
- 第 17 页
2024-05-16
CTF网络安全大赛简单web题目:GET
题目来源于:bugku 题目难度:简单 这道题目只是简单的get请求就行了 下面是题目的源代码: $what=$_GET['what'];<br> echo $what;<br> if($what=='flag')<br> echo 'flag{****}';<br>在上面的代码片段中,有几个问题和潜在的安全风险。首先,代码片段中缺少了PHP的<?php和?>标签,以及分号;来终止语句。另外,直接输出用户输入的内容可能会导致跨站脚本攻击(XSS)。 ctf.jpg图片 下面开始解题思路: 直接在url后面加上参数 what=flag 即可
网安竞赛
# 网安竞赛
红帝
1年前
0
7
0
2024-05-15
CTF网络安全大赛简单的web题目:post-the-get
题目来源于:bugku 题目 描 述: A simple form to fill, nothing special right? 题目源代码: <html> <head> <title>POST THE GET</title> <meta charset="UTF-8"> <link rel=stylesheet href="style.css"> <link rel="preconnect" href="https://fonts.gstatic.com"> <link href="https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap" rel="stylesheet"> </head> <body> <h1>HOW TO POST WHEN YOU GET</h1> <div id="message">this form is broken find another way</div> <form action="/send" method="GET"> <div class="inside"> <label for="name" class="fname"> Full Name:</label><br> <input type="text" id="name" name="name" ><br> <label for"address" class="addr">Address:</label><br> <input type="text" id="address" name="address" ><br> <input type="submit" id="sub" name="sub" value="POST" disabled> </form> </body> <script src="file.js"></script> </html> 下面我们根据代码进行解析: 上面的HTML代码中有一些问题需要修复,以下是几个关键点以及如何解决它们: 在Address标签中,for属性缺失了等号=。 表单提交按钮被设置为disabled,这意味着用户无法点击它来提交表单。 表单method被设置为GET,但标题和中提到要使用POST方法。如果您的目的是通过POST方法发送数据,则需要更改表单的method属性。 ctf.jpg图片 开始操作解题: 先修改网页的提交方式为:POST {BE71DF2B-DDC7-4773-9687-6A1614CD1EA9}.png图片 双击修改,即可 还有一处地方删除即可,就是下面这个 {E32C2978-7957-452c-8A26-A3E349626BEC}.png图片 然后我们在网页输入信息即可获取flag 至此,题目解答完毕
网安竞赛
# 网安竞赛
红帝
1年前
0
5
0
2024-05-15
CTF网络安全大赛一道简单的web题目:my-first-sqli
题目来源于:bugku 一道非常简单的sql注入题目 只需要简单的语法注入就行了 web题目: 因PHP代码看不到,只能看到html的代码 页面html源代码: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" /> <title> My First SQLi </title> </head> <body> <div class="card mt-3 p-3 w-50"> <div class="card-body"> <h2></i> Login</h2> <form method="POST" action="/"> <div class="form-group"> <label for="username">SELECT * FROM USERS WHERE username = </label> <input class="form-control" name="username" id="username" required> <label for="password">AND password = </label> <input class="form-control" name="password" id="password" required> </div> <br> <button type="submit" class="btn btn-primary">Login</button> </form> </div> </div> </body> </html> ctf.jpg图片 解题过程: 我们先开始在页面输入 admin'or 1=1 -- 成功获取到flag 屏幕截图 2024-05-15 215458.png图片
网安竞赛
# 网安竞赛
红帝
1年前
0
5
0
2024-05-15
CTF网络安全大赛一道简单web题目:inspect-me
题目来源于:bugku的一道简单web题目 题目名称就是:inspect-me 这道题直接 f12就可以查看到flag了 ctf.jpg图片 {17398854-9899-4b58-A328-26C0685B5F27}.png图片 属于web题目中最简单的,不过对新人是非常关照的一道题!
网安竞赛
# 网安竞赛
红帝
1年前
0
4
0
2024-05-15
CTF网络安全大赛web题目:just_sqli
这道题目是bugku的web题目 题目的 描 述: KosenCTF{} 题目Web源代码: <?php $user = NULL; $is_admin = 0; if (isset($_GET["source"])) { highlight_file(__FILE__); exit; } if (isset($_POST["username"]) && isset($_POST["password"])) { $username = $_POST["username"]; $password = $_POST["password"]; $db = new PDO("sqlite:../database.db"); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); try { $db->exec("CREATE TABLE IF NOT EXISTS users (username TEXT UNIQUE, password TEXT, is_admin BOOL);"); $q = "username, is_admin FROM users WHERE username = '$username' AND password = '$password'"; if (preg_match("/SELECT/i", $q)) { throw new Exception("only select is a forbidden word"); } $rows = $db->query("SELECT " . $q, PDO::FETCH_ASSOC); foreach ($rows as $row) { $user = $row["username"]; $is_admin = $row["is_admin"]; } } catch (Exception $e) { exit("EXCEPTION!"); } } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Just SQLi</title> </head> <body> <h1>Just SQLi</h1> <div><a href="?source=1">view source</a> <?php if ($user) { ?> <div>Nice Login <?= $user ?></div> <?php if ($is_admin) { ?> <div>And Nice to Get the Admin Permission!</div> <div> <?= include("../flag.php"); ?></div> <?php } ?> <?php } ?> <form action="" method="POST"> <div>username: <input type="text" name="username" required></div> <div>password: <input type="text" name="password" required></div> <div> <input type="submit" value="Login"> </div> </form> </body> </html>从给定的PHP代码中,有几个关键的安全问题可以被利用来进行SQL注入。但首先,需要注意的是代码中尝试使用preg_match来防止"SELECT"关键词的使用,然而这种尝试是无效的,因为它并没有在构造完整的SQL查询时应用此检查。 下面是一个可能的SQL注入攻击步骤,来绕过身份验证并获取管理员权限: 用户名注入:由于用户名和密码直接插入到SQL查询中,我们可以尝试在用户名字段中注入SQL代码。但是,由于preg_match检查,我们不能直接包含"SELECT"。但我们可以尝试其他方法,如注释掉原查询的剩余部分。 构造注入语句:在用户名字段中,我们可以尝试使用SQL注释(-- 在SQLite中是有效的)来截断原始查询的其余部分,并附加我们自己的查询条件。由于代码尝试直接构造一个片段并添加到SELECT查询中,我们可以利用这一点。 绕过preg_match:由于preg_match只检查$q变量(这只是一个片段,不是完整的SQL查询),我们可以构造一个不包含"SELECT"的片段,但在实际执行时,它将成为完整的SELECT查询的一部分。 下面是一个可能的注入攻击示例(请注意,这只是一个示例,实际情况可能有所不同): 在用户名字段中输入: ' OR '1'='1' --在密码字段中输入任意值(例如"password123")。 提交表单后,生成的SQL查询将是: SELECT username, is_admin FROM users WHERE username = '' OR '1'='1' --' AND password = 'password123'由于--是SQL注释,所以查询的剩余部分(包括密码验证部分)将被忽略。这样,查询将返回表中的所有用户,无论他们的密码是什么。 然而,为了获取管理员权限,我们可能还需要进一步利用其他漏洞或尝试其他注入方法,因为此查询仅返回用户名和is_admin字段,而不直接修改它们。 但请注意,这种攻击是违法的,并且只应在法律允许和道德接受的环境(如安全培训或测试环境)中进行。在实际环境中尝试此类攻击可能导致法律责任和其他后果。 ctf.jpg图片 我们开始对这个题目进行sql注入吧 一开始我们先盲注,构造查询语句 admin'or 1=1 -- 发现行不通 接着我们开始联合查询 admin'union select 1,2#发现还是不行 看了下代码, preg_match("/SELECT/i", $q这个对select进行了处理。 接着我们开始下一个方法就是用values进行替换select就行了 admin'union values('password',1) -- 屏幕截图 2024-05-15 135422.png图片 也是成功拿到答案
网安竞赛
# 网安竞赛
红帝
1年前
0
6
0
上一页
1
...
16
17
18
...
42
下一页
易航博客