end遇见不懂的问题

strcmp() 函数
语法:strcmp(string1,string2)

 0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2

GET请求:?a[]=2

因为strcmp()无法比较数组,则报错并返回0,0==0成立

md5()弱类型和sha1()函数(绕过)
1.md5:
①经过md5加密之后相等,首先我们能想到的是md5的一个缺陷,也就是说经过md5加密之后以0e开头的,值都为0,那是因为0e在比较的时候会将其视作为科学计数法,所以无论0e后面是什么,0的多少次方还是0。

a=s878926199a&b=s155964671a

②md5是获取不到数组的值的,会默认数组为0,那么如果输入两个数组并赋予不同的值

2.sha1()函数
传入的是数组时,会报错,返回为NULL,当传入的两个参数都是数组直接相等

isnumeric( )函数
检测字符串是否只由数字组成,如果字符串中只包括数字,就返回Ture,否则返回False。

session
session是一次浏览器和服务器的交互的会话。可以将一个变量存入全部的 $_SESSION[‘name’]中,这样php的各个页面和逻辑都能访问到,所以很轻松的用来判断是否登陆。 session信息存在于服务器端。

GIT

hook:存放一些sheel的地方。
info:存放仓库的信息
object:存放所有git对象的地方
refs:存放提交hash的地方
config:github的配置信息
description:仓库的描述信息,主要给gitweb等git托管系统使用
HEAD:映射到ref引用,能够找到下一次commit的前一次哈希值
logs:保存所有更新的引用记录

一个commit对象里面会包含有 tree(相当于文件夹)、parent、author和committer;一个tree里面会包含tree和blob(具体的内容);而一个blob指的就是具体的文件内容。在git中,blob与文件名无关,只与文件内容有关,即文件内容相同,在git中是同一个blob。

使用githack
python githack.py URL :还原数据包,将泄露的部分下载下来。

git log:查看日志

git diff 文件名:可以检查当前文件与上次文件的不同之处。

git ls-file -s --文件名:查看相应文件的Blob

git cat-file -p 文件名:查看文件内容

PHP伪协议

一.【file://协议】
条件:
file:// 协议在双off的情况下也可以正常使用;
allow_url_fopen :off/on
allow_url_include:off/on

file:// 用于访问本地文件系统,在CTF中通常用来读取本地文件的且不受allow_url_fopen与allow_url_include的影响

file:// [文件的绝对路径和文件名]
例如:
http://127.0.0.1/cmd.php?file=file://D:/soft/phpStudy/WWW/phpcode.txt

二.【php://协议】
条件:
不需要开启allow_url_fopen,仅php://input、 php://stdin、 php://memory 和 php://temp 需要开启allow_url_include。

php:// 访问各个输入/输出流(I/O streams),在CTF中经常使用的是php://filter和php://input,php://filter用于读取源码,php://input用于执行php代码

php://filter: 读取源代码并进行base64编码输出,不然会直接当做php代码执行就看不到源代码内容了。
http://127.0.0.1/cmd.php?file=php://filter/read=convert.base64-encode/resource=./cmd.php

php://input: 可以访问请求的原始数据的只读流, 将post请求中的数据作为PHP代码执行。
例如:http://127.0.0.1/cmd.php?file=php://input
[POST DATA] <?php phpinfo()?>

三.【zip://, bzip2://, zlib://协议】
条件:
zip://, bzip2://, zlib://协议在双off的情况下也可以正常使用;

zip://, bzip2://, zlib:// 均属于压缩流,可以访问压缩文件中的子文件,更重要的是不需要指定后缀名。

1.【zip://协议】

使用方法:
zip://archive.zip#dir/file.txt
zip:// [压缩文件绝对路径]#[压缩文件内的子文件名]
例:
http://127.0.0.1/cmd.php?file=zip://D:/soft/phpStudy/WWW/file.jpg%23phpcode.txt

由于#在get请求中会将后面的参数忽略所以使用get请求时候应进行url编码为%23,且此处经过测试相对路径是不可行,所以只能用绝对路径。

2.【bzip2://协议】

使用方法:
compress.bzip2://file.bz2
例:
http://127.0.0.1/cmd.php?file=compress.bzip2://D:/soft/phpStudy/WWW/file.jpg

3.【zlib://协议】

使用方法:
compress.zlib://file.gz
例:
http://127.0.0.1/cmd.php?file=compress.zlib://D:/soft/phpStudy/WWW/file.jpg

四.【data://协议】
条件:
data://协议必须双在on才能正常使用;
allow_url_fopen :on
allow_url_include:on

例:http://127.0.0.1/cmd.php?file=data://text/plain,<?php phpinfo()?>
or
http://127.0.0.1/cmd.php?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=

ook解密网站:
https://www.splitbrain.org/services/ook

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值