一、key又又找不到了
发送到bp,抓包点击到这里找key发送到repeater后send
二、快速口算
随便提交数据发现没有用,抓包也没有找到
所以2秒的提交手动计算肯定不行,借助Python脚本
import requests,re
# 自动处理cookies,做状态保持
s = requests.Session()
url = "http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php"
# 网址的内容以utf-8形式显示
html = s.get(url).content.decode('utf-8')
# />\n:以/>结尾的下一行
# =<i:以=<i结尾
# (.*?):任意字符
reg = r'/>\n(.*?)=<i'
# 编译正则表达式
pattern = re.compile(reg)
# 返回匹配的内容及题目里面的表达式
match = re.findall(pattern,html)
# eval执行字符串表达式,并返回值设置给v
payload = {'v':eval(match[0])}
# post方式发送v=结果
print(s.post(url,data=payload).text)
正则表达式匹配内容(包含空格):
三、这个题目是空的
什么才是空的呢?:空的字符串、常量等(‘’,“”,null,none,NULL,None,void…)
提交答案(小写即可):猜测是常量,null,一试果然就是
注:本题运气,无技术参考价值
四、怎么就是不弹出key呢?
进入靶场点击没反应
F12查看源码
找到js源码
发现可疑代码
Ctrl+s把网页保存到本地
删除return false的三个函数
进入修改后的网站,点击运行,弹出弹窗
注意,前十四个字符是不包括前面的chars
五、逗比验证码第一期
随便填写密码后填写验证码,发现没有key
因为登陆密码是4位纯数字数,第一位不为0,直接bp到intruder爆破
爆破设置pwd
设置规则
start attack后选择length排序由大到小
发现密码1238长度不一样,使用密码1238登录
六、逗比验证码第二期
按第五题操作肯定不行
换个思路,既然验证码会变,那就不要验证码
其他操作同五题
找到了密码,登录
七、逗比的验证码第三期(SESSION)
尝试从cookie和session入手,没有思路
试了试前面两题的方法,发现第六题的可以得到
也不知道题目中的session怎么用
八、微笑一下就能过关了
查看源代码
发现_被过滤了,使用编码%5f代替:^ %5f^(%号前面没有空格,不加空格本站无法显示)。而内容是(●’◡’●) ,用了file_get_contents函数,参数应该是data方法,构造^ %5f^=data:,(●’◡’●) 加在网址后面传递
得到key
九、逗比的手机验证码
先获取验证码按照流程走一遍,发现
明显使用bp改手机号
十、基情燃烧的岁月
获取验证码,发现
应该是爆破验证码,试试
start attack
repeater输入验证码查看
输入手机号1339继续同样方式爆破
获得验证码
注意,key没有{}
十一、验证码识别
先试过前几题的方法,都不行,需要验证码识别
打开PKAV HTTP Fuzzer,请求包设置bp抓包的内容,导入手机验证码字典,
添加标记给手机验证码,添加验证码标记给图片验证码
F12查找验证码地址
设置图片型验证码识别
设置重放选项
发包器启动发包
找到key这个也是没有{}
十二、XSS基础关
先插入一个js提交
显示1后再显示
提示使用
获得key
十三、XSS基础2:简单绕过
按上一题方法
script应该是被过滤了,后面尝试修改大小写和重写都没有成功
尝试插入web代码
成功
点击按钮弹出弹窗
十四、XSS基础3:检测与构造
观察代码
这个语句是xss成功的关键
构造语句使value改变
alert’ οnclick=alert(“success!”)>
十五、Principle很重要的XSS
随便输入东西提交,发现插入到了这里
测试发现< >会被替换为空格
构造
点击超链接得到key