回首2019 1/1,仿佛就在昨日一般。
感觉时光飞逝。
看了看博客的日志,我才发现,“卧槽?原来这是今年的事情了吗?我还以为这是去年或者前年的了”
总体来说,2019,算是 技术飞跃的一年
2019大事记
- 博客改用https
- 开始使用github
- golang/c/cpp 水平指数级提高
- 日zh*n水平指数级提高
- 写出第一首完整的曲子
- 乐理 ++
- 专业水平(竹笛)++
- ero后端填坑完毕,初步步入正轨
以上就是2019干的一些小事情啦。
当然还有很多是没有达到预期的。
比如说
- ML(高数是真的学不来
- ERO还是没整活
- 钢琴水平提升并不高
总体来说,2019就这么过去了。
感觉上一个念头还在想着,成年了该咋样呢,结果成年了,世界也并没有什么改变,不如说一晃眼 ,都成年两年了。
再过几个月,我也是要步入2字头的人了啊,哎
感觉自己还是很菜,越学越菜,但是我越想学。
感觉自己文笔变差了。是不中二了吗?感觉没之前写的好了,
既然这样,那就先这样吧。
学到了一个新的技巧。
和lpk.dll类似,有些文件会自动加载目录下面的dll。
并且这些文件是经过授权且加入白名单的程序。
例如WINWORD.exe。
其他的待收集,只是记录一下
详情看上一篇方法,突然想到一个神奇的用法。
/*
how to use:
gcc -fpic -c -ldl hook.c
gcc -shared -lc -o hook.so hook.o
export LD_PRELOAD=./hook.so
export LD_PRELOAD=NULL; //卸载库
*/
#include<stdio.h>
char* flag_path = "/flag";
extern int __open(char *,int,int);
int open(char * path,int flags,int mode)
{
//printf("open :%s\n",path);
if (strcmp(path,flag_path) == 0){
// 在这里你甚至能加入什么东西,比如
// sleep(2000000000);
// 或者是
// return __open(fake_flag_path,flags,mode);
return -1;
}
return __open(path,flags,mode);
}
如果在双方都是低权并且是批量的话,一般没有点意识的都不会注意到环境变量的事情。
只要在本用户的和www用户的~/.bashrc设置LD_PRELOAD。或者在php环境中的config.php,加入waf的同时同时加入一句
<?php putenv("LD_PRELOAD=xxxxx"); ?>
就行啦。
如果实在没有config.php这种所有东西都会访问的文件的话,可以手工构造一个.user.ini
然后写入
auto_prepend_file=包含上面哪个代码或者你的waf的地址
这样所有的文件都会自动包含啦。
顺带附上一个文件夹监控的脚本,用pyinotify实现的。
脚本地址:file_manage.rar
当然一般情况下,基本是没有pyinotify环境的,所以这时候两个办法,下载源码安装或者编译两份出来。
源码地址:PyInstaller-3.5.tar.zip
或者是自己编译:
x86版本:file_manage.x86.zip
x64版本:file_manage.x64.zip