Linux提权大致可分为,第三方软件漏洞、本地信任特性、内核溢出
找对应的exp, 这里地址整理很齐全可以这里下
命令输入pwd,这个命令是显示当前目录,
先看能不能编译 gcc -help
当前目录就是shell的目录,我在shell上传2.c
反弹shell 到外网自己机器的12345端口
上外网服务器 本地监听 nc -lvvp 12345
一般都能得到一个apache交互的shell 有时候又不行
这时候
/bin/sh/opt/tomcat/bin/shutdown.shsleep 1m/opt/tomcat/bin/startup.sh建立完毕以后,可以先测试一下这个脚本,看看脚本有没有问题。
info: [debug] responding to client with error: {"status":33,"value":{"message":"a new session could not be created. (original error: command failed: /bin/sh -c ideviceinstaller -u 40b8b0acd5592cbae24d53ca3528d605ba3dbae7 -i com.sogou.map.app.map\n)","killed":false,"code":null,"signal":"sigsegv","cmd":"/bin/sh -c ideviceinstaller -u 40b8b0acd5592cbae24d53ca3528d605ba3dbae7 -i com.sogou.map.app.map","origvalue":"command failed: /bin/sh -c ideviceinstaller -u 40b8b0acd5592cbae24d53ca3528d605ba3dbae7 -i com.sogou.map.app.map\n"},"sessionid":null}。
之后通过fgets读入”/bin/sh”时,printf(“/bin/sh”)已经相当于system(“/bin/sh”),即可get shell。
pty.spawn("/bin/bash")‘。
cd /tmp 进入tmp目录
mkdir Papers 创建一个Papers的目录 Papers不显眼
cd Papers 进入 Papers目录
pwd 查看当前目录
然后命令输入
wget 下载exp
}我们在开启优化和未开启优化两种情况下分别编译执行:$ gcc -std=c99 foo.c -o foo$ ./foo$ foo in foo.c$ gcc-std=c99 foo.c -o foo -o2$ ./foo$ foo in foo.c我们看到:无论哪种情况,我们都可以顺利通过编译,并且得到正确的执行结果。
1、右键点击工程,假设为a,选add group,假设为b,再将想生成lib的文件加入b group,假设文件是cc.c,必须要有cc.h。
不过,cc攻击的拦截又是会将短时间内大量访问的ip视为攻击,我查看日志发现很多访问html文件的ip被拦截为cc攻击,而根据一般常识,攻击者通常不会以html文件为cc攻击对象,因此我怀疑可能是有人大量采集我网站内容,短时间内大量访问,被防火墙标记为cc攻击从而拦截,不过这种误判也不算坏事。
因为 require 某个文件等同于 “编译 + 执行” 这个文件。
chmod +x 2 //给2有执行权限
./2 //执行2, 溢出