1、寻找key

访问给出的链接:http://lab1.xseclab.com/xss1_30ac8668cd453e7e387c76b132b140bb/index.php,进入页面,有提示语在这里找到key,也是一个访问链接:http://lab1.xseclab.com/xss1_30ac8668cd453e7e387c76b132b140bb/search_key.php,访问新链接之后进入一个页面提示此处没有key,我们可以看到浏览器上面的uri已经不是search_key.php页,说明存在跳转。

使用burpsuite对http://lab1.xseclab.com/xss1_30ac8668cd453e7e387c76b132b140bb/search_key.php的访问进行拦截。

2、快速口算

该题目是一个答案的提交题目,有限定时间,既然有限定时间,那就存在对时间修改的可能。访问给出的答题链接:http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php,随便输入答案点击提交,并使用burpsuite进行拦截。

从拦截请求中未找到任何与时间有关的信息,而且每次访问http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php时给出的答案都是不一样的,使用python写个自动化请求的demo试一试。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import httplib
import urllibheaders0 = {"Cookie": "PHPSESSID=975db232b65e274a92798918807e4676"}
conn = httplib.HTTPConnection("lab1.xseclab.com")
conn.request("GET", "http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php", '', headers0)
response = conn.getresponse()
data = response.read()
for line in data.split('\n'):if line.find('=<input type=') > 0:pattern = line.split('=')[0]
conn.close()headers1 = {"Cookie": "PHPSESSID=975db232b65e274a92798918807e4676","Referer": "http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php","Origin": "http://lab1.xseclab.com","Content-Type": "application/x-www-form-urlencoded"}
params = urllib.urlencode({'v': eval(pattern)})  # type: str
conn = httplib.HTTPConnection("lab1.xseclab.com")
conn.request("POST", "http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php", params, headers1)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()

执行看到返回结果:key is 123iohHKHJ%^&*(jkh

3、这个题目是空的

这个题真的有点脑筋急转弯的意思,跟安全渗透感觉没啥关系,答主之前也试了好多种方法,后来才开始注意题目信息:什么才是空的呢?答主是做c语言的,空意味着NULL,题目要求小写,输入null即通过。

4、怎么就是不弹出key呢

访问链接:http://lab1.xseclab.com/xss3_5dcdde90bbe55087eb3514405972b1a6/index.php,通过F12查看浏览器源代码,发现点击提示语应该执行javascript:a() js函数,函数中应该执行alert弹框一堆信息,此时却没有执行。于是把js核心函数复制出来,在浏览器的console窗口直接执行如下代码:

var b=function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('1s(1e(p,a,c,k,e,r){e=1e(c){1d(c<a?\'\':e(1p(c/a)))+((c=c%a)>1q?1f.1j(c+1k):c.1n(1o))};1g(!\'\'.1h(/^/,1f)){1i(c--)r[e(c)]=k[c]||e(c);k=[1e(e){1d r[e]}];e=1e(){1d\'\\\\w+\'};c=1};1i(c--)1g(k[c])p=p.1h(1l 1m(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);1d p}(\'Y(R(p,a,c,k,e,r){e=R(c){S(c<a?\\\'\\\':e(18(c/a)))+((c=c%a)>17?T.16(c+15):c.12(13))};U(!\\\'\\\'.V(/^/,T)){W(c--)r[e(c)]=k[c]||e(c);k=[R(e){S r[e]}];e=R(){S\\\'\\\\\\\\w+\\\'};c=1};W(c--)U(k[c])p=p.V(Z 11(\\\'\\\\\\\\b\\\'+e(c)+\\\'\\\\\\\\b\\\',\\\'g\\\'),k[c]);S p}(\\\'G(B(p,a,c,k,e,r){e=B(c){A c.L(a)};E(!\\\\\\\'\\\\\\\'.C(/^/,F)){D(c--)r[e(c)]=k[c]||e(c);k=[B(e){A r[e]}];e=B(){A\\\\\\\'\\\\\\\\\\\\\\\\w+\\\\\\\'};c=1};D(c--)E(k[c])p=p.C(I J(\\\\\\\'\\\\\\\\\\\\\\\\b\\\\\\\'+e(c)+\\\\\\\'\\\\\\\\\\\\\\\\b\\\\\\\',\\\\\\\'g\\\\\\\'),k[c]);A p}(\\\\\\\'t(h(p,a,c,k,e,r){e=o;n(!\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\'.m(/^/,o)){l(c--)r[c]=k[c]||c;k=[h(e){f r[e]}];e=h(){f\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\w+\\\\\\\\\\\\\\\'};c=1};l(c--)n(k[c])p=p.m(q s(\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\b\\\\\\\\\\\\\\\'+e(c)+\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\b\\\\\\\\\\\\\\\',\\\\\\\\\\\\\\\'g\\\\\\\\\\\\\\\'),k[c]);f p}(\\\\\\\\\\\\\\\'1 3="6";1 4="7";1 5="";8(1 2=0;2<9;2++){5+=3+4}\\\\\\\\\\\\\\\',j,j,\\\\\\\\\\\\\\\'|u|i|b|c|d|v|x|y|j\\\\\\\\\\\\\\\'.z(\\\\\\\\\\\\\\\'|\\\\\\\\\\\\\\\'),0,{}))\\\\\\\',H,H,\\\\\\\'|||||||||||||||A||B||M||D|C|E|F||I||J|G|N|O||P|Q|K\\\\\\\'.K(\\\\\\\'|\\\\\\\'),0,{}))\\\',X,X,\\\'||||||||||||||||||||||||||||||||||||S|R|V|W|U|T|Y|13|Z|11|14|12|10|19|1a|1b|1c\\\'.14(\\\'|\\\'),0,{}))\',1t,1u,\'|||||||||||||||||||||||||||||||||||||||||||||||||||||1e|1d|1f|1g|1h|1i|1v|1s|1l||1m|1n|1o|1r|1k|1j|1q|1p|1w|1x|1y|1z\'.1r(\'|\'),0,{}))',62,98,'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||return|function|String|if|replace|while|fromCharCode|29|new|RegExp|toString|36|parseInt|35|split|eval|62|75|53|var|slakfj|teslkjsdflk|for'.split('|'),0,{});var d=eval(b);
console.log(d);

结果打印出来:slakfjteslkjsdflkslakfjteslkjsdflkslakfjteslkjsdflkslakfjteslkjsdflkslakfjteslkjsdflkslakfjteslkjsdflkslakfjteslkjsdflkslakfjteslkjsdflkslakfjteslkjsdflkslakfjteslkjsdflk,取前14个字节即可。

5、逗比验证码第一期

访问链接:http://lab1.xseclab.com/vcode1_bcfef7eacf7badc64aaf18844cdb1c46/index.php,使用burpsuite进行拦截发现,是一个用户名和密码的登录框,其中用户名为admin,密码为4个数字,首位不为0,验证码每次访问index.php链接时是固定的。随机输入密码点击登录使用burpsuite进行拦截。

我们发现返回的结果是pwd error是固定的,所以我们写一个python小程序生成密码库pwd.txt。

f = file('/Users/xuyong/Desktop/pwd.txt', "w+")
for i in range(1, 10, 1):for j in range(0, 10, 1):for t in range(0, 10, 1):for k in range(0, 10, 1):pwd = "{0}{1}{2}{3}\n".format(i, j, t, k)f.write(pwd)
f.close()

然后在burpsuite的intruder模块,将pwd的值设置为payload,选择payload,将pwd.txt加载进去,然后进行attack。此时根据attack结果的长度进行排序,轻易就筛查出来正确的密码。

根据响应包的长度变化,找到正确的请求,可以看到结果:key is LJLJL789sdf#@sd

6、逗比验证码-动态的验证码

该题目中和上面的第5题是相仿的,就是每次提交之后验证码都会失效,也就是验证码不固定,每次都要刷新,这非常不利于暴力破解,一般的手段是要加入验证码的自动识别库来识别验证码。

题目中取了个巧,如果提交的请求中验证码不填写的话,就不会验证验证码了,因此解题思路跟第五题一致,将请求发送至intruder模块,然后将password设定为payload,选择之前生成的密码库进行attack。

最后attack出来的密码为:key is LJLJL789ss33fasvxcvsdf#@sd

7、逗逼的验证码第三期

和第6题一样的解法,最后爆破的答案是:key is LJLJLfuckvcodesdf#@sd

8、微笑一下就能过关了

访问链接:http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php,并使用burpsuite进行截图:

发现源代码出有个跳转,我们在浏览器页面点击源代码进入index.php的源码目录。

在源码中我们可以猜测,程序执行了die($flag)应该就会显示答案。执行到这一步需要满足请求包中包括^_^参数,且参数值不能包括http等字段,基本排除了包含远程文件的可能,参数值还不能本地存在,也派出了包含本地文件的可能。而且从^_^参数中获取的字符串还得跟(●'◡'●)相等。

于是我们构造出来POST请求链接:/base13_ead1b12e47ec7cc5390303831b779d47/index.php?^%5f^=php://input ,其中^_^要换成^%5f^,因为url中对字段名有要求,这种做法是将请求中的post数据传递给了^_^字段值,因此我们只需要在post的内容中传递出来(●'◡'●)符号即可。

在发送请求的时候需要将Content-Type修改为 text/plain等,因为php://input不能针对form表单类型的数据使用。答主使用了burpsuite,在post内容体上一开始复制不出来(●'◡'●)符号,通过复制到文件中使用vim查看二进制后发现该值为13个字节:\x28\xe2\x97\x8f\x27\xe2\x97\xa1\x27\xe2\x97\x8f\x29 。于是随便输入13个字符然后选择hex进行逐字节修改即可。

9、逗比的手机验证码

该题目根据提示分别访问获取验证码链接:http://lab1.xseclab.com/vcode5_mobi_5773f3def9f77f439e058894cefc42a8/vcode.php,以及登陆链接:http://lab1.xseclab.com/vcode5_mobi_5773f3def9f77f439e058894cefc42a8/login.php,并使用burpsuite进行拦截:

发送第一个请求拿到最新的验证码,然后将第二个请求中的vcode设置为最新的验证码,修改用户名为13388886667,重新发送请求即可。

结果为:key is LJLJLGod!@@sd

10、基情燃烧的岁月

分别访问获取验证码链接:http://lab1.xseclab.com/vcode6_mobi_b46772933eb4c8b5175c67dbc44d8901/vcode.php和登陆链接:http://lab1.xseclab.com/vcode6_mobi_b46772933eb4c8b5175c67dbc44d8901/login.php,并使用burpsuite截图:

我们发送第一个截图中的请求,没有得到具体的验证码,却拿到了验证码的提醒(开头不为0的纯数字,可以做个字典出来)。然后将第二个请求发送到intruder模块,设置vcode的值为positions,然后在payloads中载入我们的字典进行attack。

我们找到了异常的请求,并且得到了真是的手机号码为:13399999999

现在我们重新发送一下第一个请求获取一下新的验证码,然后把第二个请求的用户名修改成正确的手机号码,发送到intruder重新进行爆破。

最后的结果为:LKK8*(!@@sd

11、验证码识别

参考之前写的《如何利用burpsuite的intruder和Macro进行带验证码的密码爆破》。

12、XSS基础关

该题目是基础的xss渗透题,访问链接http://lab1.xseclab.com/realxss1_f123c17dd9c363334670101779193998/index.php,页面有输入框,随机输入hello,页面显示welcome hello,说明输入的内容在页面显示出来了,应该是基础的DOM型XSS。

现在输入hello<script>alert('hello')</script>,页面弹框hello,随后给出提示

根据提示修改为:hello<script>alert(HackingLab)</script>,然后提交,弹框success。

页面显示:key is: myxssteststart!

Welcome hello

13、XSS基础2:简单绕过

访问链接http://lab1.xseclab.com/realxss2_bcedaba7e8618cdfb51178765060fc7d/index.php,页面显示输入框,输入hello提交页面显示welcome hello,说明输入内容显示在了页面中,是基础的DOM型XSS。

按照之前的方式输入:hello<script>alert(HackingLab)</script>,提交显示有XSS检测过滤,应该是只针对script进行了过滤。

现在换一种XSS注入方式,输入:hello<img src=0 οnerrοr="alert(HackingLab)" />然后提交,显示:key is: xss2test2you

14、XSS基础3:检测与构造

访问链接:http://lab1.xseclab.com/realxss3_9b28b0ff93d0b0099f5ac7f8bad3f368/index.php,有输入框,在输入框中输入hello,也现在的输入框中会显示输入的hello,应该是基础的反射型XSS。

按照前边两种步骤分别进行尝试,都提醒了XSS检测过滤。只是针对alert的过滤不太严格,好像只是检测alert出现的位置是输入内容的开头,只要不是开头都会命中检测规则。现在可以构造出来 alert' οnclick=alert(HackingLab) />型的输入,让alert在输入的头部出现,依次来绕过针对alert的检测。

最后通过点击下方输入框,弹框显示结果:key is: xss3test2youOK_striptag

15、Principle很重要的XSS

这道题试了好几种方法,都没有找到答案。后来参考了一下网上的题解,与14体基本上的方式是一致的。针对alert的过滤也会判断是不是输入字符串的开头,如果在开头位置出现,后面的alert就不再做过滤。

构造输入内容:alert'οnmοuseοut='alert(HackingLab),其中像onclick等方法都是在过滤规则里面的,恰巧onmouseout(鼠标从区域中移走)和onmouseover(鼠标进入区域事件)方法是可用的,且'与onmouseout之间不能有空格,有空格也会被过滤规则识别出来。

输入之后页面显示:key is: xss4isnoteasy

靶场练习之hackinglab(鹰眼)-脚本题相关推荐

  1. 靶场练习之hackinglab(鹰眼)-解密题

    1.以管理员身份登录系统 根据题目的提醒,只要将admin用户进行重置密码即可.访问:http://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4 ...

  2. 靶场练习之hackinglab(鹰眼)- 上传题

    1.上传jpg图片文件 题目提醒上传jpg格式的图片文件,访问链接http://lab1.xseclab.com/upload1_a4daf6890f1166fd88f386f098b182af/,查 ...

  3. linux文本处理脚本题,Linux文本处理工具sed练习题

    1.使用sed命令打印出ifconfig ens33的ip地址 解:(1)ifconfig ens33 | sed -n '2p' | sed 's/.*inet //' | sed 's/netma ...

  4. 一道linux 脚本题解析

    在 linux上编写/root/CreateFile.sh 的 shell 脚本,创建 12 个文件夹 /root/test101 至 /root/test112 , 每 个 文 件 夹 创 建10 ...

  5. 化工学python_化工计算与软件应用(第2版) PDF

    给大家带来的一篇关于软件应用相关的电子书资源,介绍了关于化工计算.软件应用方面的内容,本书是由化学工业出版社出版,格式为PDF,资源大小172519 MB ,包宗宏,武文良编写,目前豆瓣.亚马逊.当当 ...

  6. 手机上开发python有哪些软件-哪个手机软件有python题库

    哪个手机软件有python题库? 推荐用leetcode,这款app十分适合大家来练习编程,它有着丰富的题库,而且对题目进行了分类,适合所有学习程度的用户. 下面给大家介绍一下这个软件的功能: 一.选 ...

  7. 手机上有没有学python的软件-哪个手机软件有python题库

    哪个手机软件有python题库? 推荐用leetcode,这款app十分适合大家来练习编程,它有着丰富的题库,而且对题目进行了分类,适合所有学习程度的用户. 下面给大家介绍一下这个软件的功能: 一.选 ...

  8. BUUCTF Misc wp大合集(2)

    前言 之前做杂项的题比较佛,主要是比赛里面考的大多是脑洞,弯路多,有时候没有hint挺难找到思路,做多了也没什么提升,还是喜欢实打实的脚本题和取证分析.4月25号到五一假期结束那段时间,一口气刷了五页 ...

  9. 在线课程开放平台API分析及脚本制作(一)

    目录 前言一 前言二 猜测 思考 一.官方API分析 1.获取用户信息 2.获取课程所有者信息 3.获取测试题信息 4.获取parentId 5.学习日志添加接口 6.官方套题提交接口 二.脚本API ...

最新文章

  1. Mybatis:颠覆你心中对事务的理解
  2. 怎么用python制作简单的程序-神级程序员教你如何用python制作一个牛逼的外挂!...
  3. android百度地图开发之自动定位所在位置与固定位置进行驾车,步行,公交路线搜索...
  4. java表格标题栏_Java MFixedColumnTable (提供行标题栏的表格)
  5. datatables 的导出button自定义
  6. ConvLab介绍及使用
  7. 籍贯怎样填写_公务员考试:什么是考生户籍、生源地和籍贯?
  8. 安装(python 版)
  9. 网易云api普通评论爬取的反馈
  10. Maximum call stack size exceeded
  11. Scratch 简单的小游戏 --- 碰碰球
  12. 英语模板作文,词组,句子,句型,开头
  13. Astronauts UVALive - 3713(2-SAT)
  14. 中国科学家首次解析人脑“中央处理器”,领先美国脑计划
  15. [干货分享]硬件测试快速入门你必须了解的知识!
  16. 简单的python爬虫--爬取Taobao淘女郎信息
  17. base64格式图片数据转为图片格式
  18. 艾瑞发布《2021 年全球互联网通信云行业研究报告》,融云持续领跑市场
  19. 微信团队原创分享:Android版微信后台保活实战分享(进程保活篇)
  20. 带孩子们做环球旅行的读后感_郭晶晶带孩子做家务:做家务的孩子,究竟赢在哪里了?...

热门文章

  1. Python每日一练——第3天:三种猜数字小游戏
  2. 周颖杰计算机学院,周颖杰到教务处(评估与质量监控办公室)调研指导工作
  3. 如何白手起家?Linux中找不到curl命令怎么办?
  4. IO操作底层调用过程 | 用户态切换内核态原理 | 中断概念
  5. python两组数据相关性_两组数量不同的数据怎么做相关性分析
  6. 手机看图app android小众,日常看图 + 收集灵感,这6个APP太好用!
  7. 华为硬件开发是怎么做的?
  8. 盗墓笔记android,盗墓笔记-盗墓笔记手游官方版下载-游侠手游
  9. 【运筹学】匈牙利算法
  10. endnote .enw format 文件格式说明