Exploit-Exercises Nebula


writeup链接: https://pan.baidu.com/s/1mip9WaG 密码: ypza


获取权限的思路:

利用密码备份文件,暴力破解

竞争

利用程序中调用的  系统调用函数如:system,popen,cmd等

溢出

资源未释放漏洞


tips:

几个描述符:0(标准输入) 1(标准输出) 2 (错误输出)3 (文件描述符)

通过向其他用户运行的程序文件中注入或添加自己的程序文件,可以实现提权操作

ll 查看文件具体权限相关

tmp 文件夹读写权限门槛最低(所有用户都可以可写可读),可以用于提权辅助

linux的shell环境下   ${变量名,,}  即可将变量转换成小写

pickle的dump之后的文件操作码: c S p0等等   pickle.loads("""cos\nsystem\n(S'ps'\ntR.""")

Linux 中的进程有父子关系,当子进程销毁时,父进程需要回收它。如果在子进程执行完毕之前,父进程因为种种原因被销毁了,那么子进程就变成了孤儿进程,收养它的是 init 进程,它的 pid 是 1。

chmod 更改权限


gdb 修改寄存器的值: set $eax=XXX


getopt相关

getopt只是一个简单的解析命令可选项的函数,只能进行简单的格式命令解析

int getopt(int argc,char* const argv[],const char* optstring);

如getopt返回-1,表示argv[]中的所有选项被解析出

optstring指定选项合法的选项,一个字符代表一个选项,在字符后面加一个':'表示该选项带一个参数


/etc/passwd相关

cat /etc/passwd 查看权限UID

传统UNIX的密码存储方式是直接在/etc/passwd(所有合法用户都可访问)里,后期版本存储在/etc/shadow(只有root可读的)

在/etc/shadow文件中的记录行内容用‘:’隔开,为:【登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志】

/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,解释如下:

【用户名:密码(已经加密):UID(用户标识):GID(组标识):用户信息:主目录:Shell(对登录命令进行解析的工具)】

john破解密码

(Ubuntu下安装:sudo apt-get install john)

john -single shadow.txt(提取的某一行用户完整信息)

john -wordfile:password.lst -rules shadow.txt 使用字典

john -i:all shadow.txt(全部密钥空间配对)


linux环境变量

查看PATH:echo $PATH

添加变量:export  PATH=/usr/local/mongodb/bin:$PATH 【只对当前shell(BASH)有效(临时的)】

                  /etc/profile文件中添加变量【对所有用户生效(永久的)】

                  在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】

修改环境变量:例如USER=“XXXXX”即可


ssh相关

实现字符界面的远程登录管理,它默认使用22号端口

简单连接方式:ssh user@hostname,或者指定端口ssh -p 10022 user@hostname,-X可以添加图形化界面功能(即可以打开某些图形化界面程序)

可以在/etc/ssh/sshd_config进行编辑,修改ssh的配置

ssh-keygen -t dsa 创建一个密钥  (ssh-keygen -F IP 查看与之配对情况)

(ssh 验证时用的私钥公钥就放在home目录中的.ssh 目录里)

某些情况下, 比如主机地址更改或者不再使用某个密钥, 你就可能需要删除某个密钥

ssh-keygen -R IP 或者手动删除 ~.ssh 文件夹

windows平台下还有putty,xshell程序可以用于ssh,ftp,telnet等连接


tar 相关  

x(解压)  c(加压) t(打开压缩包)

-v 显示压缩文件

-z 以gzip方式压缩(一般格式为xx.tar.gz或xx. tgz)

-j  以bzip2方式压缩(一般格式为xx.tar.bz2)

-f :使用档名

设置压缩目录:-C dir(参数的作用在于改变工作目录) 如:tar -cvf file2.tar -C /home/usr2 file2


php的preg_replace相关

第一个参数后使用了/e,即启用/e 模式,那么 preg_replace 的第二个参数将会被作为代码执行。(/e 这个修饰符的意思 就是让 正则替换的 时候 替换规则 支持 php 代码)

在 php 变量引用中,如果双引号的字符串出现了“$变量名”或“${变量}”的形式,最终引用的是变量值。同样的思想,如果是函数,则引用的是函数的返回结果。

“\”主要用于转义,“/”主要用于描述模式。


linux下的find

find / -uid 扫描当前目录以及其子文件,查找符合UID值的文件(例如find / -uid 999 2>/dev/null)

-name  filename            #查找名为filename的文件

-user    username            #按文件属主来查找

-group groupname            #按组来查找


ln 链接指令使用

-s:进行软链结(symboliclink)  (软连接可以跨文件系统,可以对一个不存在的文件名进行连接)

不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁盘空间

ln -s abc cde    #建立abc 的软连接

ln abc cde       #建立abc的硬连接

rm -rf XXX       #用于删除链接


nice — 调整程序运行的优先级

nice -n 19 表示改变文件的执行优先级,范围是-20~19,数字越低,优先级越高


access函数用于检测文件存在与读写权限,windows下在<io.h>导入,linux在<unistd.h>导入


fread()与fwrite()

size_t fread(void*ptr, size_t size, size_t nmemb,FILE* stream);

size_t fwrite(const void* ptr,size_t size,size_t nmemb,FILE* stream);

返回值:读或写的记录数,成功时返回的记录数等于nmemb,出错或读到文件末尾时返回的记录,数小于nmemb,也可能返回0。参数size指出一条记录的长度,而nmemb指出要读或写多少条记录.




strace 命令可跟踪一个程序的系统调用

Linux 里动态链接库的文件名是以“.so.版本”号结尾的,如:libc.so.6。当要调用动态链接库时,先用dlopen 函数打开它。之后动态链接库的入口函数首先得到执行,在 Win32 编程中,DLL 的入口函数是DllMain(好久没搞 Windows 编程了,如果没有记错的话),Linux 的动态链接库的入口是_init。_init 函数是在 gcc 命令编译时自动加入的,主要做一些全局变量之类的初始化操作。

通过__attribute ((constructor)),这是 gcc的一个特性,可以让程序在执行_init 函数之前,就先执行带有__attribute ((constructor))的函数

gcc -fpic -shared -nostdlib libc.c -o libc.so.6.                          (加上-nostdlib 就可以消除“version                                             GLIBC_2.1.3 not defined in file libc.so.6 with link timereference”提示了)

使用汇编自动写成一个system(在一些时候不能直接使用系统调用)

动态链接库的写法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容