python图片拼接
通过图片的修改时间来拼图 os的一些操作 12345678910import osimport timefile='1.mp4'os.path.getatime(file) #输出最近访问时间1318921018.0os.path.getctime(file) #输出文件创建时间os.path.getmtime(file) #输出最近修改时间time.gmtime(os.path.getmtime(file)) #以struct_time形式输出最近修改时间os.path.getsize(file) #输出文件大小(字节为单位)os.path.abspath(file) #输出绝对路径'/Volumes/Leopard/Users/Caroline/Desktop/1.mp4'os.path.normpath(file) ...
hitcon2018.md
题目代码如下: 1($_=@$_GET['orange']) && @substr(file($_)[0],0,6) === '@ ? include($_) : highlight_file(__FILE__); php的session.upload_progress.enabled=On引起的一个小问题 由于这个题目连session都没开,所以我根本就没有考虑去包含session。 但是最后看了orange的exp我才发现,只要发的POST请求中只要包含ini_get("session.upload_progress.name")这个键值,并带上session_id,同时进行文件上传,就会直接创建一个session文件。 搭建一个上传文件的页面 upload.html 12345678910111213<html><body><form action="upload_file.php"...
php中的session.upload_progress
hitcon2018 one-line-php-challenge php中的session.upload_progress php中的session.upload_progress 这个功能在php5.4添加的,所以测试的小伙伴,注意下版本哦。 在php.ini有以下几个默认选项 1234561. session.upload_progress.enabled = on2. session.upload_progress.cleanup = on3. session.upload_progress.prefix = "upload_progress_"4. session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"5. session.upload_progress.freq = "1%"6. session.upload_progress.min_freq =...
php_base64_decode的容错
base64解码函数可以接受的字符范围是[A-Za-z0-9+/=],但是如果php的base64_decode遇到了不在此范围内的字符,php就会直接跳过这些字符,只把在此范围的字符连起来进行解码。 我们来做个试验: 1`$i` `= 0 ;``$data` `= ``"upload_progress_ZZ"``;``while``(true){`` ``$i` `+= 1;`` ``$data` `= ``base64_decode``(``$data``); `` ``var_dump(``$data``);`` ``sleep(1);`` ``if``(``$data` `== ``''``){`` ``echo` `"一共解码了:"``.``$i``,``"次\n"``;`` ``break``;`` ``}``}` 运行结果如下: 1`string(12)...
phar协议
phar协议 2.1 phar文件结构 在了解攻击手法之前我们要先看一下phar的文件结构,通过查阅手册可知一个phar文件有四部分构成: 1. a stub 可以理解为一个标志,格式为xxx,前面内容不限,但必须以__HALT_COMPILER();?>来结尾,否则phar扩展将无法识别这个文件为phar文件。 2. a manifest describing the contents phar文件本质上是一种压缩文件,其中每个被压缩文件的权限、属性等信息都放在这部分。这部分还会以序列化的形式存储用户自定义的meta-data,这是上述攻击手法最核心的地方。 3. the file contents 被压缩文件的内容。 4. [optional] a signature for verifying Phar integrity (phar file format only) 签名,放在文件末尾,格式如下: 2.2...
sql注入BIGINT溢出
mysql 5.5.5及以上版本才有溢出错误 查看mysql文档来看看mysql存储数据的范围 11.2.1 Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT MySQL supports the SQL standard integer types INTEGER (or INT) and SMALLINT. As an extension to the standard, MySQL also supports the integer types TINYINT, MEDIUMINT, and BIGINT. The following table shows the required storage and range for each integer type. Table 11.1 Required Storage and Range for Integer...
2019深思杯
...
Linux没有最小化
按alt+F2打开命令窗口,输入gnome-tweaks(Fedora)/gnome-tweak-tool(Debian),选择左侧窗口标题栏,将最大化、最小化打开。
文本图制作ASCIIFlow
在线绘画
Linux的dev目录填坑
Linux TTY/PTS概述 1 当前控制终端(/dev/tty) /dev/tty指的是当前所处的终端,输出到此的内容只会显示在当前工作的终端显示器上;可以使用命令”ps –ax”来查看进程与哪个控制终端相连.对于你登录的shell, /dev/tty就是你使用的终端,设备号是(5,0). 使用命令”tty”可以查看自己具体对应哪个实际终端设备./dev/tty有些类似于到实际所使用终端设备的一个联接 2./dev/pts /dev/pts是远程登陆(telnet,ssh等)后创建的控制台设备文件所在的目录。由于可能有好几千个用户登陆,所以/dev/pts其实是动态生成的,不象其他设备文件是构建系统时就已经产生的硬盘节点. 3.控制台终端-系统控制台(/dev/console 和...


