SSRF小结
各种编程语言中有许多可以发起网络请求的函数,这些函数在某些情况下会导致ssrf
简单的对ssrf做个小总结
PHPurl处理在进行请求前,系统往往会对url进行解析处理,提取出相关请求的url的信息,进行过滤
一个url一般的结构为
scheme://host/path?query#fragment
parse_url1234567891011121314151617<?php$url = "http://www.baidu.com;abcd/abc/ab/1.php?id=1#abcde";$parse = parse_url($url);var_dump($parse);# 以下为输出array(5) { ["scheme"]=> string(4) "http" ["host"]=> string(18) "www.baidu.com;abcd" ["path"]=> string(13) "/abc/ ...
/proc目录的妙用
关于procctf题目中经常用到/proc这个目录进行绕过,getshell,读取源码或者获取环境信息等操作
简单的介绍下/proc是什么以及他的作用
Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态
简单来讲,/proc即保存在系统内存中的信息,大多数虚拟文件可以使用文件查看命令如cat、more或者less进行查看,有些文件信息表述的内容可以一目了然,但也有文件的信息却不怎么具有可读性。
目录介绍/proc目录中包含许多以数字命名的子目录,这些数字表示系统当前正在运行进程的进程号,里面包含对应进程相关的多个信息文件。
上面列出的是/proc目录中一些进程相关的目录,每个目录中是当程本身相关信息的文件。
/proc/self就是当前运行进程ID的符号链接
1、cmdline — 启动当前进程的完 ...
2020长安杯取证大赛部分wp
2020长安杯阶段1
案情简介:接群众举报,网站“www.kkzjc.com”可能涉嫌非法交易,警方调取了该网站的云服务器镜像(检材 1.DD)
请对检材 1 进行分析,获取证据,并根据线索解锁更多检材,深入挖掘出更多与案件有关的信息。
仿真的时候看到了
最后因为hyper-v的原因开不了仿真。。。。
从文件系统看了看确实也是
为啥不是 3.10.0-957?
取证大师可知分区2为LVM
硬盘总扇区数为:
相减得
查看nginx配置文件
`
查看nginx的配置文件,可以看到三个网站的配置文件
因为nginx转发请求到docker了,所以想到查看docker容器的nginx日志,容器内nginx的日志与/dev/stdout做了软连接,所以要用主机中docker logs命令查看日志
docker logs 容器id
查看docker日志,可以看到Referer是从192.168.99.3来的
ssh日志中有俩ip,但是我结合第九题可知为192.168.99.222
进到docker里,查看nginx的配置
依旧是利用dock ...
2020国赛决赛-web-WriteUp
ylbnb
web题不是很难,都比较眼熟,估计是ylb临时找的题
签到解压出s2.txt
内容:
c3ludHt6bGhhcnc2Mm9uYzIwOW1tfQ==
base64decode:
synt{zlharw62onc209mm}
凯撒解密:偏移量是13
flag{myunej62bap209zz}
web1sql注入,id和limit过滤的不一样
过滤空格 ,用注释符绕过
过滤逗号,用from for和case when绕过
过滤等号,用regexp绕过
过滤substr,用mid绕过
布尔盲注
12345678910111213141516171819202122232425262728293031323334import requestsimport timeimport threadingimport strings1 = threading.Semaphore(30)#这儿设置最大的线程数 count = 60#预估字符数result = []for c in range(count): result.append('')d ...
htaccess文件上传利用
前言有不少题目都是用了黑名单过滤,落下的htaccess
有的题目还对上传文件的内容进行检查,检查是否含有php关键字
这时候就需要用到htaccess的骚操作进行绕过了
方法文件头如果有的题目会对文件的文件头进行检查,例如用exif_imagetype检查是否为图片类型,对于.htaccess来说,不能简单的加上GIF89a等文件头直接绕过,因为这会造成.htaccess文件格式不正确,无法解析,这时候我们就可以用以下方法进行绕过
在htaccess文件头部添加:
12#define width 1337#define height 1337
或:
利用16进制编辑器添加:
1x00x00x8ax39x8ax39
auto_prepend_file或auto_append_file相当于在当前目录下面所有php文件的开头或结尾加载引用了一个文件
类似于require xxx
访问htaccess文件所在目录的php文件时,Apache会将指定文件载入到php文件前或后,这时php文件执行时就会将我们载入的文件内容与原本的php代码一起执行
如果所在目录没有php文件,则可以使用A ...
2020柏鹭杯部分web题解
easy-flask题目源码:
123456789101112131415161718192021222324252627import flaskimport osapp = flask.Flask(__name__)app.config['FLAG'] = 'flag{213}'@app.route('/')def index(): return open('/app/app.py').read()@app.route('/sandbox/<path:sandbox>')def sandbox(sandbox): def safe_jinja(s): s = s.replace('(', '').replace(')', '').replace('.','').replace('&am ...
初识windows域
初识windows域域的基本知识工作组认识域之前,可以先了解一下工作组
工作组是局域网中的一个概念,许多计算机在同一物理地点,通过局域网连接起来的小组。
其中每台计算机的地位都是相同的,没有谁管理谁的这种概念,自己管理自己
例如登录系统,在一个工作组内的A、B、C三台计算机,每台计算机都有自己的用户账户用来登录验证,而不是共用一个验证。工作组环境中的每台计算机都有自己的本机安全账户数据库,称为SAM数据库。
这个SAM数据库是干什么用的呢?其实就是平时我们登录电脑时,当我们输入账户和密码后,此时就会去这个SAM数据库验证,如果我们输入的账户存在SAM数据库中,同时密码也正确,SAM数据库就会通知系统让我们登录。而这个SAM数据库默认就存储在C:\WINDOWS\system32\config文件夹中。
域当需要连接的计算机数目非常庞大,需要统一管理,而且计算机不在同一物理地点,这时使用工作组就无法满足管理需求,这时候就需要一个统一验证管理计算机的系统,域。
域英文叫DOMAIN——域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust ...
SQL注入笔记2.0
船新的2.0版本来了
借鉴了一下大佬们的博客,重新写了些
文章太长,右下角点击圆点有目录
目录有可能会被我老婆挡住,不要在意
–Rayi 2020.4.15
注入点位置我们知道,在数据库中,常见的对数据进行处理的操作有:增、删、查、改这四种。
每一项操作都具有不同的作用,共同构成了对数据的绝大部分操作。
增。顾名思义,也就是增加数据。在通用的SQL语句中,其简单结构通常可概述为: INSERT table_name(columns_name) VALUES(new_values)。
查。查询语句可以说是绝大部分应用程序最常用到的SQL语句,他的作用就是查找数据。其简单结构为:SELECT columns_name FROM table_name WHERE condition。
改。有修改/更新数据。简单结构为:UPDATE table_name SET column_name=new_value WHERE condition。
删。删除数据。简单结构为: DELETE table_name WHERE condition。
增 - insert中原语句常见 ...
DVWA-常见web漏洞介绍
[TOC]
趁着最近有点时间,把基础巩固巩固,看看各个漏洞产生的原因和解决方法
暴力破解如同字面意思,就是利用字典对可能的用户名和密码进行穷举,对付弱口令有奇效
BurpSuit-Intruder说起暴力破解,怎么可能少的了这个呢
简单的介绍下Intruder的配置,它一共有四个模式
1、Sniper(狙击手模式)狙击手模式使用一组payload集合,它一次只使用一个payload位置,假设你标记了两个位置“A”和“B”,payload值为“1”和“2”,那么它攻击会形成以下组合(除原始数据外):
attack NO.
location A
location B
1
1
no replace
2
2
no replace
3
no replace
1
4
no replace
2
2、Battering ram(攻城锤模式)攻城锤模式与狙击手模式类似的地方是,同样只使用一个payload集合,不同的地方在于每次攻击都是替换所有payload标记位置,而狙击手模式每次只能替换一个payload标记位置。
attack NO.
location A
loc ...
phar反序列化简介
整理整理着就翻到这个了,顺便做了道bytectf的题,复习下哈希长度扩展攻击
phar伪协议phar伪协议触发php反序列化phar://协议可以将多个文件归入一个本地文件夹,也可以包含一个文件phar文件PHAR(PHP归档)文件是一种打包格式,通过将许多PHP代码文件和其他资源(例如图像,样式表等)捆绑到一个归档文件中来实现应用程序和库的分发。所有PHAR文件都使用.phar作为文件扩展名,PHAR格式的归档需要使用自己写的PHP代码。phar文件结构
详情参考php手册(https://secure.php.net/phar)这里摘出创宇提供的四部分结构概要:1、a stub识别phar拓展的标识,格式:xxx。对应的函数Phar::setStub2、a manifest describing the contents被压缩文件的权限、属性等信息都放在这部分。这部分还会以序列化的形式存储用户自定义的meta-data,这是漏洞利用的核心部分。对应函数Phar::setMetadata—设置phar归档元数据3、the file contents被压缩文件 ...