网络信息安全攻防平台脚本关

第2题 快速口算

写python代码解决(eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。)

方法一:

import requests
   #导入requests模块,(requests是python的第三方库,要事先安装)
url='http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
s=requests.Session()
r=s.get(url)
res=r.content
   #获取网页内容
a=res.find(b'<br/>')
b=res.find(b'=',a)
   #找到我们要计算的式子的前后位置
num=res[a+7:b]
   #将计算式赋值给一个变量
r=s.post(url,data={'v':eval(num)})
   #eval():计算num的值,
print(r.content)

方法二:

。。正则还是不太懂,以后再搞搞

import re #正则模块
import requests

s = requests.Session()  
url = 'http://1.hacklist.sinaapp.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
r = s.get(url)
r.encoding = 'utf-8'   #修改编码
num = re.findall(re.compile(r'<br/>\s+(.*?)='), r.text)[0]  #正则表达式找到算术式

print ('result:\n\n%s=%d\n' % (num, eval(num)))  #输出算术式计算结果
r = s.post(url, data={'v': eval(num)})  #将结果提交  抓包可看出要用v提交
print (r.text)  #输出返回结果

 

4怎么就是不弹出key呢?

题目描述

这里写图片描述

解题思路

1、看题,觉得应该是js的题,打开果然不出所料, 
这里写图片描述 
2、查看源代码 
这里写图片描述

复制源代码保存为html文件

看到前面几行三个非常显眼的return false,就直接复制下来,改成ture,本地跑,结果还不对,仔细一看,那三个函数一点用都没,都被a()覆盖了,所以删掉 

3、弹出弹窗 
这里写图片描述

 

 

一个awd攻防比赛的裁判平台。 版本:beta v2.0 开发语言:python3 + django 平台分为两个部分 裁判机 靶机 通过特定接口,来实现靶机flag与服务器的通信 搭建流程 裁判机 安装所需环境 裁判机:python3+django 全局搜索woshiguanliyuan,并修改为随机字符串,此处为管理平台地址 /untitled/urls.py path('woshiguanliyuan/',views.admin,name='admin'), path('woshiguanliyuan/table/',views.admin_table,name='admin_table'), /app/views.py if 'woshiguanliyuan' not in request.META['HTTP_REFERER']: 第31和47换为你的目录 列:("/var/www/awd_platform/app/qwe.txt","a") 修改app/management/commands/init.py,添加用户 #['用户名','用户靶机token','用户靶机token'] user=[ ['123456','FF9C92C7SDFABB71566F73422C','FF9C92C7SDFABB71566F73422C'], ['aaabbb','311F8A54SV9K6B5FF4EAB20536','311F8A54SV9K6B5FF4EAB20536'] ] 修改/app/views.py第行d89f33b18ba2a74cd38499e587cb9dcd为靶机中设置的admin_token值的md5 if('d89f33b18ba2a74cd38499e587cb9dcd'==hl.hexdigest()): 运行 python3 manage.py init python3 manage.py manage.py runserver --insecure 靶机 安装所需环境 靶机:python+requests 修改send_flag.py参数,并将其放入靶机,设权限700。 靶机 sudo python send_flag.py。 靶机生成flag脚本,send_flag.py import requests import time import random import string import hashlib token='woshiwuxudong' # 红队 baji='311F8A54SV9K6B5FF4EAB20536' def getFlag(): #return ''.join(random.sample(string.ascii_letters + string.digits, 48)) m = hashlib.md5(''.join(random.sample(string.ascii_letters + string.digits, 48)).encode(encoding="utf-8")).hexdigest() return m while(1): f=open('/flag','w') flag=getFlag() f.write(flag) data={ 'flag':flag, 'token':token, 'baji':baji, } r=requests.post('http://127.0.0.1/caipanflag/',data=data) print(r.text) f.close() time.sleep(300) 重要须知 更新作者基础上: 1.增加flag验证一次性失效性,使得每个用户都并且仅可以提交一次flag 2.增加排名情况 3.flag改为MD5 4.增加丢失flag一轮扣100分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值