PHP伪协议
php://PHP function allow_url_include=OnPHP function allow_url_fopen=On
php://inputphp://input是个可以访问请求的原始数据的只读流;官方的解释我也看不懂,我就知道POST提交php代码会被执行,不需要键名,直接提交代码。
php://filterphp://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。 这对于一体式(all-in-one)的文件函数非常有用,类似 readfile()、 file() 和 file_get_contents(), 在数据流内容读取之前没有机会应用其他过滤器。在CTF中一般和文件包含一起利用,通常被利用来读取源码,直接读取会帮当成php代码执行,可以使用base64把读取到的内容编码,解密后即可得到源码。php://filter/read=convert.base64-encode/resource=0e.php
zlib:& ...
CTF-杂项
一、misc中隐写概述和工具介绍1. 隐写术       隐写术是一本关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容。隐写术的英文名叫做Steganography,来源于特里特米乌斯的一本讲述密码学与隐写术的著作steganographia,该书书名源于希腊语,意为”隐秘书写”。
2. 题目类型隐写术题目在CTF中大致分为以下几种类型:图片隐写—-jpg、png、bmp等图片的信息隐藏音频隐写—-MP3隐写、波形隐写、频谱隐写文档隐写—-常见文档格式,如doc、word、pdf等文件的信息隐藏视频隐写—-在嵌入视频中嵌入隐藏信息其他隐写—-如NTFS流、HTML的snow隐写等
3. 文件头       在隐写题目中,首先要介绍的知识点是文件头,文件头是位于文件开头的一段承担一定任务的数据。一般都在文件开头的部分,文件头一般是系统文件类似的重要标准,尤其是当我们遇到需要修复文件的题目时 ...
sqli-labs靶场详解笔记
SQLi-LABS Page-1(Basic Challenges)Less-1paylaod:-1' union select 1,2,3%23知识点:闭合引号
Less-2payload:-1 union select 1,database(),3知识点:union联合查询
Less-3paylaod:-1') union select 1,database(),3%23插入1'发现报错:'1'') LIMIT 0,1,告诉我们附近出错了,后面跟着括号,这时考虑闭合括号,注释掉后面的语句:1')-- -,这时返回就正常了,使用union联合查询即可。知识点:闭合括号,闭合单引号。
Less-4payload:-1") union select 1,database(),3-- -继续输入1',发现没反应,估计过滤了单引号,换成双引号试试,报错:"1"") LIMIT 0,1,1后面出现两个双引号,所以和上面一样的方法。知识点:闭合括号,闭合双引号。
Less-5paylaod:1 ...
易锦靶场新手区SQL注入
注入点通过群里讲师得到,id=95存在注入,其他不存在,我试了一下也是不存在。http://lab.yijincc.com:50006/?m=home&c=View&a=index&aid=95
注入类型通过id初步判断时数字型注入,输入95 and 1=1,页面无异常输入95 and 1=2页面不存在,说明存在数字型注入
获取返回列经过测试发现order by 48回显正常(我的天48个),union联合查询获取回显位置,payload:95 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48回显不是我们期待的,考虑过滤了union,使用异或测试union。95^(length('union')=5)如果未被过滤,最后运算结果应该是95,异或注入回显一致说明没有被过滤,但返回的不是aid为95的页面 ...
SQL注入学习笔记2
一、未知列名注入未知列名注入一般用于过滤column,通过不需要查询列名的方式来获取数据。
1. union绕过列名payload:id=-1 union select 1,a.2,3 from (select 1,2,3 union select * from user limit 1,1)a分析payload要从最里面,最先执行的sql语句开始。先看select 1,2 union select * from flag,该语句的执行效果如下表名变成是1,2,3 但我们要怎么获取到里面的数据呢,看第一个union查询的a.2,它派生表的别名,.2是第二个表,也就是user表的username列,a.2相当于查询了username列名。
2. using报错注入使用场景:未知列名使用条件:报错回显
2.1 join函数join函数 用于把两个表连接起来,join on是把满足条件的连接起来。join用法:select * from user join flag;
2.2 using 函数用法using函数 和join函数组合使用,作用是过来相同列用法:select * from use ...
SQL注入学习笔记1
一、字符型和数字型注入1. and or 操作符1.1 简述 and和or属于运算符,主要用途是把多个条件结合起来,过滤sql语句的返回结果。主要用在where语句中。
1.2 作用
可以起到一个条件连接的作用,尤其是在盲注时
当注释符被过滤,还可以使用and加上一个retu条件,闭合单引号
1.3 andand 又叫与运算,当两个条件都为真时,返回真,否则为假。格式:条件1 adn 条件2实例:select * from user where id=7 and username='admin';虽然id=7的数据存在,但这条数据的username不是admin,所以返回数据为空
1.4 oror又叫或运算,有一个条件为真,结果为真,两边都为假,则为假。格式:条件1 or 条件2实例:select * from user where id=8 or username='test1';满足条件的数据有两个,所以输出两条数据
2. MySQL注释符2.1 作用 当程序运行时,不会对注释的内容做任何处理,注释一般可以出现在程序的任何地方,用来提 ...
Linux国内更新源-通用
一、更换国内源1.Debian备份当前源:mv /etc/apt/sources.list /etc/apt/sources.list.bak编辑更新源:vim /etc/apt/sources.list按 “i” 进入插入模式,编辑完成按”ESC”退出编辑模式,输入”:wq”保存文件
123456789#阿里云deb http://mirrors.aliyun.com/debian/ stretch main non-free contribdeb-src http://mirrors.aliyun.com/debian/ stretch main non-free contribdeb http://mirrors.aliyun.com/debian-security stretch/updates maindeb-src http://mirrors.aliyun.com/debian-security stretch/updates maindeb http://mirrors.aliyu ...
xss-lab闯关笔记
level1无过滤
payload<script>alert(1)</script>
前台代码<h2 align=center>欢迎用户’”<>?Die</h2><center><img src=level1.png></center>
代码分析观察我们输入的字符串’”<>?Die,没有做任何编码就输出到前台,考虑后台可能没有做任何过滤和编码。
后台代码12$str = $_GET["name"];echo "<h2 align=center>欢迎用户".$str."</h2>";
代码分析$str = $_GET["name"];获取前台传来的name变量赋值给$strecho "<h2 align=center>欢迎用户".$str."</h2>";没有做任何过滤直接将$str拼接到h2标签中输出,由此可见构 ...
XSS漏洞学习笔记
一、认识XSS1.百度概念 人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。因此,有人将跨站脚本攻击缩写为XSS。跨站脚本攻击(XSS),是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。攻击者可以使用户在浏览器中执行其预定义的恶意脚本,其导致的危害可想而知,如劫持用户会话,插入恶意内容、重定向用户、使用恶意软件劫持用户浏览器、繁殖XSS蠕虫,甚至破坏网站、修改路由器配置信息等。XSS漏洞可以追溯到上世纪90年代。大量的网站曾遭受XSS漏洞攻击或被发现此类漏洞,如Twitter、Facebook、MySpace、Orkut、新浪微博和百度贴吧。研究表明,最近几年XSS已经超过缓冲区溢出成为最流行的攻击方式,有68%的网站可能遭受此类攻击。根据开放网页应用安全计划(Open Web Application Security Project) ...
Web代码审计常见函数
代码审计(Code audit)是一种以发现程序错误,安全漏洞和违反程序规范为目标的源代码分析。 软件代码审计是对编程项目中源代码的全面分析,旨在发现错误,安全漏洞或违反编程约定。 它是防御性编程范例的一个组成部分,它试图在软件发布之前减少错误。
require ‘flag.php’ #文件包含函数(高)
count($value) #获取数组成员数(低)
chr($value) #转ascii
unset($value) #销毁变量
intval($value) #转整数
ereg(表达式,字符串,regs)ereg函数是php4-5的正则匹配函数,如果没有找到匹配或出错则返回 FALSE。如果没有传递入可选参数 regs 或者所匹配的字符串长度为 0,则本函数返回 1。ereg函数在php7中已弃用,存在%00截断漏洞。
is_numeric($value) #判断是否为数字或者数字字符串,bool型
empty #判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量 ...