简单定义:公钥和私钥,加密和解密使用的是两个不同的密钥,所以是非对称 系统:ubuntu 14.04 软件:openssl java php 生成公钥私钥 使用命令生成私钥: openssl genrsa...: openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 参数: rsa 提取公钥 -in 从文件中读入 rsa_private_key.pem...文件名 -pubout 输出 -out 到文件 rsa_public_key.pem 文件名 shell加解密 新建一个readme.txt 内容是taoshihan 使用公钥加密: openssl...\n"; //私钥解密 $private_key=file_get_contents("rsa_private_key.pem"); $pi_key = openssl_pkey_get_private...\n"; //私钥解密 $private_key=file_get_contents("rsa_private_key.pem"); $pi_key = openssl_pkey_get_private
这道题关键就是绕过正则匹配,来执行后面的eval函数 解题思路 利用通配符调用Linux系统命令来查看flag 在Linux系统中可以使用 ?...管道符的作用 | 管道符的作用是 把 管道符左边的的输出 当做右边命令后面待处理的结果 例如: ls -lha ~ | more| grep a >haha.txt 在源码中我们可以发现有个open...,所以对命令进行base64加密之后再使用,同时最后要加上之前传的那个文件名。...过程就是判断用户名是否为admin->密码进行checkSql函数检测->用户名和密码带入数据库进行密码查询->查询后的值不能为空->查询后的值需要和你输入的值一样。..._destruct方法中,使用成员变量a作为参数b作为变量函数名执行代码,在代码最后接收GET参数并进行反序列化。
简介 本篇为2019年DDCTF部分Web的write up,整体来说,能做的都算是中等难度,就是有些耗时间,其次就是思路的问题了,为了避免太长所以我分两篇来写,不喜勿喷,喷了我也不会理 滴~(题目名字...> 最坑的部分来了,在第三行中,有一篇文章地址,点击进去后 ? 没有任何内容,这里进作者的主页 ?...在倒数第三篇文章中看到一个vim 异常退出 swp的文章,点进去后,看到一个文件名 practice.txt.swp ? 在网页中直接访问,获得提示 ? 告诉你了当前目录下还有一个flag!...ddctf.php的文件,所以我们利用上面的方法,将这个Php的内容包含出来 这里要注意一下,在index.php中,有一个过滤 $file = hex2bin(base64_decode(base64...> 这里就是典型的变量覆盖了,给这个php传入两个参数,uid和k,并且内容都会空,这样Php就会把这两个函数都覆盖掉为空,就符合if的条件了 ?
分享给大家供大家参考,具体如下: 引言 以前在编写一个比赛的机试系统的时候,需要记录和更新考试的截止时间,以前的做法是在数据库中单独建立一个数据表用于保存和更新截止时间。...回过头再去看,觉得没有必要单独建立一张表,只需要把时间保存到一个文件中,然后通过修改文件的内容修改考试时间即可。 以前的方案 ? maybe, a little bit stupid…....update").click(function(){ var time = $("#time").val(); if(time==''){ alert("时间不能为空...display(); //update('2011-11-11 11:11:00'); } function display(){ $file = md5("time"); $time = file_get_contents...md5加密后的字符串作为文件名的文件保存用户名和密码。
NULL和FALSE在PHP中是不同的,因此stripos(f, 'zkaqzkaq') === FALSE这个比较在f是数组时不成立。 Payload 1. ?f=zkaqzkaq[] 2. ?.../flag'); } 解题 在PHP中,如果一个字符串以数字开头,那么在进行数值比较时,这个字符串会被当作数字处理。例如,字符串 "1234abc" 会被视为数字 1234。...在PHP中,当一个字符串如"1e1234"被用在数值上下文中时,由于e后面跟随的数字表示指数,"1e1234"在经过intval转换时候会被认为1 * 10^1234 Payload ?...在 32 位系统中,PHP 的整数最大值是 2^31-1,即 2147483647;在 64 位系统中,最大值是 2^63-1。...Payload 在 32 位 PHP 版本中,将 $a 设置为 2147483646(2^31-2) 在 64 位 PHP 版本中,将 $a 设置为 9223372036854775806(2^63-2
看做是一个容纳了一个或者多个容器的盒子,但是这个盒子里至少有一个容器,不能为空。...一个POD可以从集群中获取唯一的IP,当然这个IP是动态的,当POD存在的时候,它在一个集群内部拥有唯一的IP,一旦POD消失,它所拥有的IP就被集群回收再利用了,之前说容器之间沟通也是依赖于IP,所以在...Kubernetes中一个POD内部的容器使用localhost+不同端口来互相沟通,如果POD1中的容器想跟POD2中的容器通信,理论上就是两个POD之间的通信,直接使用POD的IP地址。...但是一个POD内的容器也必然要互相区分的: 默认情况下,PID 命名空间 不共享,但 kubernetes 提供了选项,可使用 在 Pod 内的容器之间启用进程共享shareProcessNamespace...-f 删除。
. '/'; if (IS_POST) { if (empty($fname)) { $this->error('未指定文件名')...对fname进行base64解码,判断fname参数是否为空,拼接成完整的文件路径,然后判断这个文件是否存在,读取文件内容。对fname未进行任何限制,导致程序在实现上存在任意文件读取漏洞。...,trim($_GET['id']))); if (empty($filename)) { $this->error('模板名称不能为空!')...首先对获取的参数进行替换,然后判断文件是否为空,接着带入read_file函数中执行,可以看到参数并未进行任何过滤或处理,导致程序在实现上存在任意文件读取漏洞。...03 END 这两个漏洞实例都是在编辑状态下的任意文件读取,感觉还挺蛮有趣的,在黑盒渗透中,要想触及这个点还是挺有难度的。 更多的时候,黑盒结合白盒的进行漏洞挖掘,可发现更多的安全漏洞。
一段程序在本地调试正常后,放到网上却时断时续,最后确认问题如下 1. HTTP request 中的 Host: 段是 HTTP 1.1 规范,在 1.0 中没有这个 2....但是目前通常环境中(我用的 Ubuntu,不过其他发行版应该也有这问题),PHP 中的一些函数如 file_get_contents 会发送错误的 request 例如只是这么简单的一行 file_get_contents...有些防火墙会把这些不规范的 HTTP 通信拦截掉:就算你用的机器没设置 iptable,通常机房本身都会有硬件防火墙的 昨天出现问题,是没料想到 PECL OAuth 也是如此 Update in 2010.12.31...一样),我觉得不要使用 file_get_contents 获取远程数据(在该函数的官方页评论里,你会看到各种各样的相同功能的 封装 ) 、弃用 PECL OAuth 比较好,虽然随着时间的流逝这个问题最终会被修正...编译也可以解决,我在虚拟机了编译了份 .
使用了笨重fsockopen()方法后,我们开始在PHP函数库里寻找更简单的方式来进行POST请求,这时,我们发现了PHP的文件函数也具有与远程URL交互的功能。...$use_include_path:是否使用文件之前include_path()设置的路径,如果使用,在文件地址找不到时,会自动去include_path()设置的路径去寻找,网页地址中我们设置为false...$offset:读取的内容相对文件开始内容的偏移字节,我们读取网页内容,要保证HTML文档的完整性,所以可以设置为0或者不设置,默认为0。...$maxlen:顾名思义,是读取文件的最大字节数,同offset我们不设置,读取网页的全部内容。...对于像 file_get_contents()、file_put_contents()、readfile()直接使用文件名操作而没有文件句柄的函数来说更有用。
数据中的key为string类型,要求非空且字符长度不超过80个。 当数据中的value为string类型时,允许为空,字符长度不超过8192个。...,其取值不能为空,也不能包含路径。...,不能为相对路径,其取值不能为空。...当srcFile只传入文件名时,srcContext不能为空。...String targetFile = "targetFile"; // targetFile表示目标文件名,其取值不能为空,也不能包含路径。
php无法收到数据 form表单是很常用的html标签,它能为我们提交数据到服务器,上传文件等。有时后台程序却无法接收数据,下面看看解决方法吧。...2、如果头信息content-type为“content-type:application/json“,这种传输是以json方式提交数据,php需要使用file_get_contents(“php://...二、文件上传时,无法接收到_POST数据和_FILES数据 原因:文件大小超出了php.ini设置的post_max_size,导致POST数据为空,FILES数据也为空。...解决方法: 最简单的是在php.ini里把文件大小post_max_size设置大点,再重启服务器。 或者在页面利用JS提示用户,请上传 指定大小的文件。
> 分析: 开头get方式,找到Flag成立条件,是ac与f恒等且前提要满足ac不能为空以及f的值是从fn文件读取....方法一:$f = trim(file_get_contents($fn)) 想办法获得一个文本文件fn提取字符串赋值给f.可以在自己的服务器上加个txt内容与ac的get值相等是可以做的...再想出题人不可能让每个做的人去自己服务器写个...\/中,\为转义字符,即匹配符号//并且之中可匹配除换行符意外的任意字符,(....*key)意思与之前相同,[a-z]可匹配a-z的字母,[:punct:]意思为可以匹配符号,/i的意思是不区分大小写。 7.PHP很烦人?...第二步:获得上传两文件的随机文件名,拼接转化规律是获取两个值进行序列化后进行base64加密,然后凯撒移位后,还要将小写字母移位14位,进入rename让两个分散的文件进行拼接构造(因为只有构造才能将两个文件内容拼在一起
文件上传的控制点: Content-Length:上传内容大小 MAX_FILE_SIZE:上传内容最大长度 filename:文件名 Content-Type:文件类型 上传路径等 ?...目录遍历 攻击者能够在web应用所在目录以外文件夹上任意存取文件夹、执行命令或查找数据。 ? 案例: file文件夹下有1.txt,上一级有2.txt ? ? ? ?...文件包含 在引入文件时参数名可控导致文件泄露甚至代码注入 ? 相关函数: include、include_once、require、require_once ? 本地包含 利用方式: ?...远程包含 allow_url_include = On 包含的文件不能为.php ? ? 利用方式: %00截断 路径长度截断 ?...相关函数: fopen、file_get_contents、fread、fgets、fgetss、file、fpassthru、parse_ini_file、readfile ? ? ?
; } if(empty($timestamp)){ E('时间戳不能为空!')...; } if(empty($version)){ E('版本号不能为空!')...; } if(empty($data)){ E('业务参数不能为空!')...; } if(empty($sign)){ E('签名不能为空!')...按照参数名ASCII码从小到大排序(字典序) 注意: l 参数名ASCII码从小到大排序(字典序); l 如果参数的值为空不参与签名; l 文件、字节流不参与签名; l sign不参与签名; l 参数名
, 3 files ubuntu@ubuntu:~/Public/a2$ mv a3/a11/2.txt a3/222.txt ubuntu@ubuntu:~/Public/a2$ tree . └──...@ubuntu:~/Public/a2$ cd a3 ubuntu@ubuntu:~/Public/a2/a3$ ls 111.txt 222.txt 333.txt a11 ubuntu@ubuntu..."s/.txt//" *111* #把当前目录下含有111的文件名字中.txt替换成空 ubuntu@ubuntu:~/Public/a2/a3$ ls 111 222.txt 333.txt...a11 ubuntu@ubuntu:~/Public/a2/a3$ rename "s/111/111.txt/" * #把当前目录下所有文件名111改为111.txt ubuntu@ubuntu:...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
一、常用文件函数库 1、basename(); -- 返回路径中的文件名部分。...在 Windows 中,斜线(/)和反斜线()都可以用作目录分隔符。在其它环境下是斜线(/) suffix 如果文件名是以 suffix 结束的,那这一部分也会被去掉。...在附加模式(加参数 "a" 打开文件)中 ftell() 会返回未定义错误。...如果不希望 flock() 在锁定时堵塞,则是 LOCK_NB(Windows 上还不支持)。...文件名以在文件系统中的排序返回。
知识提升仅需5min php基础知识-文件及目录处理 在面试中,考官往往喜欢基础扎实的面试者,而文件及目录处理相关的考点,往往是大家容易忽视的一个点,今天冷月就来帮各位小伙伴们梳理一下,在面试中文件及目录处理相关的注意点...不需要fopen()打开的函数: file_get_contents(path) file_get_contents() 把整个文件读入一个字符串中。...如果成功,该函数返回从文件中读入的字节数。如果失败,该函数返回 FALSE 并附带错误信息。您可以通过在函数名前面添加一个 '@' 来隐藏错误输出。...02-2目录相关1名称相关: basename(path) basename() 函数返回路径中的文件名部分。 dirname(path) dirname() 函数返回路径中的目录部分。...3目录删除 rmdir(dir) rmdir() 函数删除空的目录。 4目录创建 mkdir(path) mkdir() 函数创建目录。
根据反序列化的特性,在 AWS_models 类中,析构函数由于 $this->_shutdown_query 是可控的,再未经处理就调用了 query 函数进行 SQL 语句的查询操作,显然是存在 SQL...如果想要 Phar 文件来触发反序列化,那么就需要找到这套程序对文件操作的代码,全局搜索 file_get_contents,is_file 等函数。...如下代码,可看到 file_get_contents 中传入了 $headimgurl,像是一个头像地址的变量,此处这个变量可控的话,就可以触发反序列。 ?...下述代码的功能为先从数据库查询出 avatar_file 为空,也就是没有头像的用户的数据,这一点很重要。简而言之,此处的功能大概就是使用微信头像作为本系统账号的头像。 ?...第二步,构造数据包,进行微信绑定操作,cookie 中携带了 payload ? 第三步,触发反序列化 ? 最后 不得不佩服漏洞原作者能够在众多逻辑功能中找到这么一条利用链。
登录进去以后是这样的: url末尾是file=的形式,怀疑是文件包含,并且自动在xxx后面加.php。...非预期1 __toString魔术方法被调用了,该方法返回一个文件名,如果存在读取文件的操作,也可能被利用。..."; echo file_get_contents($uploader); } } 恰好在Uploader类中存在一个可以直接控制Filename的方法: if(isset($_GET['...非预期2 这个题,上传的时候并没有过滤PHP,还可以指定上传的文件名。所以,直接上传个PHP文件,即可执行命令。本文传了一个写有phpinfo的文件进行测试,上传的文件为a.php。...因此我们可以先随便上传一个文件,不传递name参数,这样就可以拿到$_SESSION['user']。
Valgrind工具检查内存相关问题,包括内存泄露、空指针使用、野指针使用、重复释放等问题。...不可超过硬性资源限制 -t :cpu最大占用时间,单位为秒 -u :用户可创建的最大进程数 -v :进程最大可用虚拟内存,单位为KB **除此之外,还有可以通过在代码中设定开启...**然而一般不推荐该方式, 因为如果代码中没有增加开启功能,而应用程序又发生了异常,系统将无法记录coredump。建议在系统配置文件设置开启。...使用默认文件名称显然不是一个好的方式,如果有多个应用程序异常终止,将覆盖core文件;或者同一个应用程序,在异常终止后被守护进程重新启动运行,再次异常时导致core文件被覆盖。...,可以生成coredump文件,但文件内容为空,可能是权限问题??
领取专属 10元无门槛券
手把手带您无忧上云