不安全的 URL 跳转
很容易发现超链接用一个 url 进行 GET 传参,我们进行构造
1 | 192.168.17.129:8000/vul/urlredirect/urlredirect.php?url=https://www.baidu.com |
发现,很容易就进入了百度的页面。
并且当我们输入../的时候,就一个目录吧,也会出现铭感信息泄露的问题(可能是这个靶场本来就没有做,笑)
1 | 192.168.17.129:8000/vul/urlredirect/urlredirect.php?url=../ |
文章作者: Mr.Virus
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Mr.Virus's Blog!
相关推荐
2025-02-16
CSRF
CSRF(Cross-Site Request Forgery)跨站请求伪造 CSRF(GET)看一下提示,可以得到很多的用户与密码,这里以 vince 账户为实验。 12345姓名:vince性别:boy手机:18626545453住址:chain邮箱:vince@pikachu.com 将邮箱修改成 mov@pikachu.com 了。 不过没看到它在 URL 有显示 GET 获取的数据罢了。 我们看一下浏览器中表单中各个组件的 name 值 我们简单构造一下 1?sex=boy&phonenum=18626545453&add=chain&email=mrvirus@qq.com&submit=submit 发现没有用。那我老老实实用 Burpsuite 去抓包看看有什么缺的。 **tips:**其实少写一个 submit 那个发送按键,因为 value 为 submit,所以后面再加一个 submit=submit。 1234567891011GET...
2025-02-16
PHP反序列化
原理序列化 serialize()把一个对象变成可以传输的字符串 反序列化 unserialize()把被序列化的字符串还原成对象 魔法函数123456常见的几个魔法函数:__construct()当一个对象创建时被调用__destruct()当一个对象销毁时被调用__toString()当一个对象被当作一个字符串使用__sleep() 在对象在被序列化之前运行__wakeup将在序列化之后立即被调用 题目一开局就然我们输入一个序列化数据,不知道想干啥,我们就随便写一个对象 123456class S{ public $text = 'pikachu';}$s = new S();$s = serialize($s);echo $s; 1O:1:"S":1:{s:4:"text";s:7:"pikachu";} 输入进去,发现下面文本有一个输出了一个 pikachu,真神奇,不知道怎么实现的? 1234567class S{ public...
2025-02-16
File Inclusion
文件包含漏洞 本地文件包含漏洞 远程文件包含漏洞 include、include_once、require、require_once include 和 requrie 的区别 include 包含有错误还会继续运行,而 require 会中止。 xxx 和 xxx_once 的区别 once 只会运行一次 下面的 local 和 remote 的区别就是,看一下代码 local 的 1include "include/$filename"; remote 的 1include "$filename"; 可以看到 local 的代码明显自由度不高,被 include/限制了,但是我们可以用.. .这样的符号在本地内 include。 remote 不仅可以在本地,还可以用 URL 引用互联网上的 php 以及其他的文件。 File Inclusion(local)File Inclusion(remote)
2025-02-16
Croos-Site Scripting
XSS(跨站脚本)一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。 类型: 反射型 XSS 存储型 XSS DOM 型 XSS 反射型 XSS(GET)有输入框我们就可以试试一些 js 代码 1<script>alert("hello");</script> 输入进去,我们可以看到,前端限制了长度 这个简单,这种就是用了 HTML 的语法限制。我们浏览器调试一下。把 maxlength 改成 100 甚至更大。 解决 这个题目有一个 GET,就是通过 URL 进行传输信息。 说明我们不仅可以通过修改 HTML 语法进行绕过,还可以通过修改 URL 进行绕过。 方法 修改 HTML 修改 URL 反射型 XSS(POST)先看一下提示,我们获得了一个账号。 我们进去之后,可以输入那串 js 代码即可。 存储型 XSS看到一个文本框,老规矩,先输入我们的 js 代码。 ok 可以。 并且每次刷新也不会消失。 DOM 型 XSS可以看到,这次简单输入 js...
2025-02-16
SQL-Inject
SQL 注入 前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。 MySQL 通用查库、查表、查列我们直接使用 MySQL 命令行进行操作。 使用库我们平时在进行 SQL 注入时,后端代码已经自己使用库了。但是,我们在使用 MySQL 命令行工具时,是需要通过命令来使用库的。 1use pikachu 我们就可以查看当前库了 1234567mysql> select database();+------------+| database() |+------------+| pikachu |+------------+1 row in set (0.00 sec) 查库1select schema_name from information_schema.schemata; 我们呢发现命令行输出了这两个数据库。原理是使用 select 读取了 information_schema 数据库中的 schemata 表中的 schema_name...
2025-02-16
Over Permisson
水平越权我们输入 kobe 的账号密码,进入进去,查看个人资料,我们发现 URL 上面的信息,我们可以尝试改成其他用户名(lucy/lili/kobe) 1http://192.168.17.129:8000/vul/overpermission/op1/op1_mem.php?username=kobe&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF 发现改成 lucy 的,在 kobe 页面也可以看到 lucy 的个人信息,这就是水平越权漏洞了。同样的可以看到 lili 的信息。 垂直越权提供了 admin/123456、pikachu/000000,还说明了 admin 是超级用户,我们登录 admin 账号试试。同样的我们发现了添加用户和删除用户的 URL,我们就登录看 pikachu 这个账户看能不能利用即可。 添加用户的...
公告
This is my Blog