Web学习

1.AMP

Apache MySQL php
在这里插入图片描述

Windows amp环境

phpstudy

phpadmin

在这里插入图片描述

Linux amp环境

docker

在这里插入图片描述

docker常用命令

在这里插入图片描述
在这里插入图片描述
-p 8080:80 访问虚拟机的8080端口,就会访问docker的80端口

web工具使用

BP

在这里插入图片描述

hackbar

在这里插入图片描述
F12之后,找到hackbar

sqlmap

在这里插入图片描述
在这里插入图片描述
kali有
Windows下python sqlmap.py -u url

dir_search

在这里插入图片描述

在这里插入图片描述

菜刀,蚁剑

在这里插入图片描述
在这里插入图片描述
初次安装 需要初始化,选择工作目录,init

php的弱类型特性

0e开头后面是纯数字的字符串,会被当做科学计数法去比较,和0相等
0x开头后面是纯数字的字符串,会被当做16进制数去比较
当比较的一方是字符串时,会先把其转换为数字,不能转换为数字的字符串或null,被转换成0

==和===是不一样的,后者是强类型的比较

MD5的参数有两个,str,raw_output(设置为TRUE,MD5报文摘要将以16字节长度的原始二进制格式返回)
第一个参数不为str,警告但不退出,返回null

<?php
highlight_file(__FILE__);
include('flag3.php');

if(isset($_POST['a'])){
    $temp = json_decode($_POST['a']);
    if($temp->key == $flag){
        echo $flag;
    }else{
        die('ERROR!');
    }
} 

json_decode这个函数,该函数接受一个 JSON 编码的字符串并且把它转换为 PHP 变量,
json 是一种轻量级的数据交换格式,例如{“a”: 1, “b”: [1, 2, 3]} 就是一个标准的json格式

得到flag的方法是使我们传入的json数据中key键对应的值和代码中的变量flag相同,
再次观察代码,可以看到在第七行的比较中使用的仍然是“==”来做判断,这时不难联想到前面讲的弱类型导致的问题。

我们可以知道的是,变量flag的值一定为“flag{XXXXXX},它是一个字符串,在前面举过这样一个例子 “app”== 0 #true 同理,“flag{xxx}==0 同样会返回true

那么我们完全可以有如下思路: 使json数据中的key值为0,当进行第7行的比较时,自然的“flag{xxx}==0会返回true,if语句里的条件得到满足,我们就可以拿到flag,

网络协议

在这里插入图片描述

http协议

在这里插入图片描述
在这里插入图片描述

URL

在这里插入图片描述
?在URL中一般代表GET请求
在这里插入图片描述

报文

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

请求方式

在这里插入图片描述
在这里插入图片描述

请求

请求头和正文之间有一个空行,表示请求头已经结束

常见的请求头

在这里插入图片描述

伪造请求头

在这里插入图片描述

FTP

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SSH服务

在这里插入图片描述

中间人攻击

在这里插入图片描述

信息泄露

git

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

git的使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

git信息泄露

用dirsearch扫描
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

DS_Store

在这里插入图片描述
在这里插入图片描述

文件包含

uploads-labs

https://github.com/c0ny1/upload-labs

docker安装教程

https://mp.weixin.qq.com/s/MeeX9nmUWB9WcsuCUXZnuw

B站视频教程:【kali安装docker玩转vulhub靶场】 https://www.bilibili.com/video/BV1qY4y1k7bs/?share_source=copy_web&vd_source=fa715c38d98cfad5eca2b2a583b8101e

docker常用命令

https://mp.weixin.qq.com/s/ZANKKBUFcijLgCuyCTolwg

靶场集成环境vulhub

https://github.com/vulhub/vulhub

如果没有使用docker,如何复现漏洞环境?

在线网站 vulfocus.cn 中集成了大量漏洞环境,可搜索环境名中的关键词,例如

webshell管理工具

中国蚁剑

蚁剑有两个模块,使用加载器选中源码所在的目录才能正常使用,视频里会教

源码下载:https://github.com/AntSwordProject/antSword

加载器下载:https://github.com/AntSwordProject/AntSword-Loader

冰蝎4.0版本

课上所用为3.0版本与4.0版本差别非常大,可自行探索4.0用法,B站有教程

https://github.com/rebeyond/Behinder

教程:【冰蝎4.0.1 Behinder_v4.0.1基本使用】 https://www.bilibili.com/video/BV1tt4y1V7zJ/?share_source=copy_web&vd_source=fa715c38d98cfad5eca2b2a583b8101e

哥斯拉

https://github.com/BeichenDream/Godzilla

原理

  • hackbar里面有LFI模块,用于自动生成文件包含的东西

服务器执行php文件时,可以通过文件包含函数加载另一个文件中的php代码,并且当php脚本来执行,文件包含类似于C语言中的include函数

文件包含漏洞重要点之一就被包含的文件尽管后缀php不识别,依旧可以去执行其内容

在这里插入图片描述
在这里插入图片描述

本地文件包含漏洞

在这里插入图片描述

session文件

在这里插入图片描述
在这里插入图片描述

日志文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

phpadmin

在这里插入图片描述

绕过防御

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

远程文件包含漏洞

在这里插入图片描述
在这里插入图片描述

绕过防御

在这里插入图片描述

PHP支持的伪协议

file:// — 访问本地文件系统
http:// — 访问 HTTP(s) 网址
ftp:// — 访问 FTP(s) URLs
php:// — 访问各个输入/输出流(I/O streams)
zlib:// — 压缩流
data:// — 数据(RFC 2397)
glob:// — 查找匹配的文件路径模式
phar:// — PHP 归档——压缩
ssh2:// — Secure Shell 2
rar:// — RAR
ogg:// — 音频流
expect:// — 处理交互式的流

在这里插入图片描述

php:// 伪协议

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

data:// 伪协议

data:资源类型;编码,内容 数据流封装器 当allow_url_include 打开的时候,任意文件包含就会成为任意命令执行
在这里插入图片描述

伪协议与文件包含

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

PHP session文件的常见存储路径

/var/lib/php/sess_PHPSESSID
/var/lib/php/sessions/sess_PHPSESSID
/tmp/sess_PHPSESSID
/tmp/sessions/sess_PHPSESSID
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值