摘要:
一、绕过命令执行: 很多WAF会限制参数字符不能为可以执行的命令,诸如ls、nc等,如果直接使用这些字符会直接被WAF拦截,但是可以通过这种的方式绕过这一限制 1、? 符号:这个符号表示条件测试,比如执行/?in/?ls,会对路径中第一个匹配到的/*in/ls进行执行,通常情况下,目录中没有这些文件 阅读全文
摘要:
LD_PRELOAD这个变量允许你定义在程序运行时优先加载的动态链接库,从而在程序运行时的动态链接 下面程序的看一个例子-getuid.c 这段程序很简单,就是获取当前的uid 运行后确实拿到了当前用户的uid,下面就通过LD_PRELOAD变量来劫持系统原来的getuid函数,从而改变返回结果 一 阅读全文
摘要:
access()函数用来检查调用进程是否可以对指定的文件执行某种操作。 来自:https://blog.csdn.net/tigerjibo/article/details/11712039 1.函数功能: 检查调用进程是否可以对指定的文件执行某种操作。 2.函数原型: 1)函数头文件 #inclu 阅读全文
摘要:
有些应用程序使用了system等函数调用了系统命令,但是没有使用绝对路径而是使用env命令从环境变量中进行查找,这就可能通过修改环境变量来进行权限提升 看下面的例子,本例来自于nebula: flag01程序通过env命令执行了echo命令 1、创建自己的echo命令,保存在/tmp目录下 2、查看 阅读全文
摘要:
当当前用户可以通过sudo执行tcpdump时,可以用来进行提权 tcpdump中有两个参数-z和-Z,前者用来执行一个脚本,后者用来指定tcpdump以哪个用户运行,当可以通过sudo执行时,则可以指定以root用户运行一个脚本,从而达到提权的目的 一、编写反向shell脚本 二、通过sudo调用 阅读全文
摘要:
原文来自:http://www.4hou.com/web/13024.html node.js是一个服务器端的运行环境,封装了Google V8引擎,V8引擎执行JavaScript速度非常快,性能非常好。Node.js进行了一些优化并提供替代API,这使得Google V8引擎能够在非浏览器环境下 阅读全文
摘要:
strace是一个linux平台下的调试工具,主要用来跟踪进程的系统调用和信号接收,在linux系统开发中十分常用,但由于该命令需要已root权限运行,不少开发人员为了方便开发,会为strace命令授予sudo权限。常见的一种错误就是为该命令授予无需密码的sudo权限。这就带来了一个安全问题 一、查 阅读全文
摘要:
假设渗透中,通过代码审计发现又如下代码: 这里filename是外部传参到exec函数,调用find命令来在本地查找文件。可以确定这里一定存在远程命令执行,因为这里filename是外部传参,且没有经过任何过滤,也就是说恶意用户可以通过控制外部传参来执行更多命令,有如下几种方式 一、分号隔断-';' 阅读全文