一、fuzzing
访问目标网址,“there is nothing ”,小编心想,没东西是不是可以不做了?
当然是不可能了,年轻人想想就好了,何必当真呢
burp抓包查看响应情况,初看好像没什么,这个时候拼什么呢,拼的是小编的这份细心了,看见小编圈起来的了嘛,很有用哦
伪造一个IP,查看响应,出现了一个“m4nage.php”,进行访问,继续抓包
继续伪造IP,可以看到回显内容“show me you key”
任意构造一个key值,继续伪造IP,发包访问,可以看到回显了找到正确的key的方法
破解key值得python代码如下,破解出来的key值为“ichunqiu618ok”
import hashlib
def md5(data):
m = hashlib.md5()
m.update(data)
a = m.hexdigest()
return a
a = 'ichunqiu'
b = 'abcdefghijklmnopqrstuvwxyz1234567890'
for i in b:
for j in b:
for k in b:
for l in b:
for m in b:
if md5(a+i+j+k+l+m)=='5a2a7d385fdaad3fabbe7b11c28bd48e':
print a+i+j+k+l+m
传入正确的key值后,回显了一个php文件
继续burp抓包,伪造IP访问,得到一个“x0.txt”文件
访问是一段php的源码函数,复制到本地,对代码进行修改,在最后对函数进行echo输出。
本地网页访问代码,即可得到flag信息
二、pyscript
访问目标网址,很有趣的界面,“input your answer”,那么到底输入什么呢,小编也不知道,只有继续乱翻翻看了
查看网页源代码,小编发现了一个重要的线索(很重要哦),不过看完之后看来小编还是逃不了代码的命了
破解代码python,如下
import urllib,urllib2,json
import hashlib
import re
import requests
url = 'http://106.75.108.111:1111'
def sha_1(data):
sha_1 = hashlib.sha1()
sha_1.update(data)
sha = sha_1.hexdigest()
return sha
def key(key1,key2):
c='0123456789'
str1 = key1
cipher = key2
for i in c:
for j in c:
for k in c:
if sha_1(i+j+k+str1) == cipher:
# print (i+j+k)
return i+j+k
def get_info():
r = requests.post("http://106.75.108.111:1111")
key2 = r.headers['Ciphertext']
cookies = r.cookies
html = r.text
res = r'/+(.*?)/)'
key1 = re.findall(res,html)[0]
print key1
return key1,key2,cookies
def postx(number,cookies):
cookies = cookies
values={'pass':number}
response = requests.post("http://106.75.108.111:1111",cookies=cookies,data=values)
return response.text
def sum(text):
res = r'<!--.*?([/d/+/-/*]+).*?-->'
key3 = re.findall(res,text)[0]
result = eval(key3)
return result
if __name__ == '__main__':
(key1,key2,cookies)=get_info()
number = key(key1,key2)
result1 = postx(number,cookies)
result2 = sum(result1)
print result2
print postx(result2,cookies)
直接运行,滴滴滴,flag信息瞬间就出来了呢
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/2469.html