SQL注入备忘单
Lab:WHERE 子句中的 SQL 注入漏洞允许检索隐藏数据此实验室在产品类别过滤器中包含 SQL 注入漏洞。当用户选择一个类别时,应用程序将执行如下 SQL 查询:
1SELECT * FROM products WHERE category = 'Gifts' AND released = 1
要完成该实验,请执行 SQL 注入攻击,导致应用程序显示一个或多个未发布的产品。
当我们进入环境之后,选择其中一个类别后,会自动给我们进行筛选然后仅显示出我们选择的类别中我们所能看到的东西
查询的sql语句如上所示
因此我们输入的payload为:/filter?category=Gifts' or 1=1--+
Lab:允许绕过登录的 SQL 注入漏洞本实验的登录函数中存在 SQL 注入漏洞。要完成该实验,请执行 SQL 注入攻击,以 administrator 用户身份登录到应用程序。
进入环境的登陆界面,随便输入用户名和密码并抓包,如下:
从题目中我们已知管理员的账户名,但是不知道密码
因此我们可以在输入账号名的地方将剩下的sql ...
CTF
未读引用PHP反序列化入门之phar
phar反序列化原理及利用
php反序列化拓展攻击详解–phar
phar介绍简单来说phar就是php压缩文档。它可以把多个文件归档到同一个文件中,而且不经过解压就能被 php 访问并执行,与file:// php://等类似,也是一种流包装器。
phar结构由 4 部分组成
stub phar 文件标识,格式为 xxx<?php xxx; __HALT_COMPILER();?>;
manifest 压缩文件的属性等信息,以序列化存储;
contents 压缩文件的内容;
signature 签名,放在文件末尾;
这里有两个关键点,一是文件标识,必须以__HALT_COMPILER();?>结尾,但前面的内容没有限制,也就是说我们可以轻易伪造一个图片文件或者pdf文件来绕过一些上传限制;二是反序列化,phar存储的meta-data信息以序列化方式存储,当文件操作函数通过phar://伪协议解析phar文件时就会将数据反序列化,而这样的文件操作函数有很多
phar文件的生成以及利用在php.ini中配置如下时,才能生成phar ...
错误 Call to undefined function mysqli_connect() 和错误 can’t find class mysqli in :***** 错误是同一种错误,只是php中连接 MySQl的不同写法而已
那么我们要怎么做呢
首先,让我们到自己安装的php目录下面,打开它的配置文件
如果像我一样用的是phpstudy下的八点多的版本,那么它的配置文件php.ini是空的,需要我们自己去把当前目录下的php.ini-development里面的所有内容复制过去(该文件可以用记事本打开)
然后在配置文件中搜索一下extension_dir,如下:
将图中选中的部分改为 ./ext/,并把前面的分号去掉(这是因为在修改成的目录下面有php_mysqli.dll,如果没有那就是下载的时候出错了,再重新下载一遍)
注意:配置文件中的分号其实是注释符,要开启啥功能要先把它去掉
然后让我们搜索 extension=,然后会发现一大块都是extension=的部分,在其中添加上extension=mysqli,如下:
注意:配置文件里面原本也存在extension= ...
参考资料Nginx入门必须懂3大功能配置 - Web服务器/反向代理/负载均衡
云服务器配置重定向文件
Ubuntu 自建安装Apache+MySQL+PHP环境
安装MySQL和PHP环境按照上面的参考文章走
配置nginx首先先安装nginx:apt install nginx
查看版本:nginx -v
运行nginx:service nginx status
先让我们进入:cd /etc/nginx,然后 ls -lh可以看到目录下面有sites-enabled文件
sites-enabled:很明显这个目录可以写配置
sites-availabled:这个一般来说就不行了
https://www.jianshu.com/p/42c4ffd044e6
看不懂,先这样理解。
配置代码可以利用WinSCP软件来帮助我们创建并修改文件
在enabled下创建port_sherlock(这只是一个名称.jpg),代码如下:
123456789101112131415161718server{ listen port; server_name IP; roo ...
参考资料最详细的ubuntu 安装 docker教程:https://zhuanlan.zhihu.com/p/651148141?utm_id=0
docker搭建Dvwa靶场:https://juejin.cn/post/7076807703565336612
开始的开始让我们先更新一下apt
12sudo apt-get updatesudo apt-get upgrade
部署Docker一. 卸载Ubuntu自带的Docker以下操作最好用管理员
注:docker的旧版本不一定被称为docker,http://docker.io 或 docker-engine也有可能,所以我们卸载的命令为:
1apt-get remove docker docker-engine docker.io containerd runc
如果报错也正常,有些Ubuntu没有Docker,直接下一步
二.安装1.安装docker依赖
Docker在Ubuntu上依赖一些软件包。执行以下命令来安装这些依赖:
1apt-get install ca-certificates curl gnup ...
参考及引用的文章浅谈csrf漏洞:https://xz.aliyun.com/t/7450?time__1311=n4%2BxnD0G0%3Dit0QDkID%2FiWRSD0xcDRlGerDWwD&alichlgref=https%3A%2F%2Fwww.google.com%2F#toc-3
CSRF漏洞的原理CSRF漏洞产生的原因(1)http协议使用session在服务端保存用户的个人信息,客户端浏览器用cookie标识用户身份;
(2)cookie的认证只能确保是某个用户发送的请求,但是不能保证这个请求是否是”用户自愿的行为”.
(3)这时,用户登录了某个web站点,同时点击了包含CSRF恶意代码的URL,就会触发CSRF
漏洞利用的条件(1)用户必须登录A网站,生成了cookie
(2)登录的同时访问了恶意URL(包含CSRF恶意代码的URL)
换种解释就是网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要是访问这个网站,都会默认你已经登录的状态。而在这个期间,攻击者发送了构造好的csrf脚本或包含csrf脚本的链接,可能会执行一些用户 ...
Misc先来签个到吧点击链接,百度网盘提取,看视频
看到要到一半的时候会突然闪过一个二维码,于是就是见手速的时候了,在这几秒疯狂疯狂暂停,最终暂停到了二维码处,扫码得到flag
爬山给了一张图片
打开kali,在终端输入命令:exiftool 图片名,得到图片的具体信息,最后几行是拍摄的经纬度:24 deg 30' 17.30" N;118 deg 3' 20.03" E,拿给gpt稍修一下得到:24°30'17"N 118°3'20"E,把该坐标拿到谷歌地球中搜索一下,发现位于厦门市海沧区的一个公园附近,已知小涂是小学生,上的是小学,开始社工,启动高德地图,搜索海沧区小学,把搜索到的小学名一个个输进去,最后得到是天堂山小学
webezzzzzzzzz_PTA进入环境发现要让我们写python代码,盲猜ssti漏洞
开始测试,首先输入 print([].__class__.__base__.__subclasses__())得到所有的子类,然后发现我要使用的<class 'subprocess.Pop ...
q
前言在刷命令执行的题目之前,建议先仔细阅读一下这篇文章:CTF中常见RCE命令执行绕过技巧
ctfshow-web291234567891011<?phperror_reporting(0);if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag/i", $c)){ eval($c); } }else{ highlight_file(__FILE__);}
首先 ?c=system('ls');查看当前目录下的文件,发现了flag.php
由于题目所限,可以使用通配符来绕过?c=system(%27cat%20./fla?.php);,右键查看源码得到flag
ctfshow-web301234567891011<?phperror_reporting(0);if(isset($_GET['c'])) ...
前言想要了解明白这个漏洞,我们就需要知道一些前提
同源策略 (Same Origin Policy)
同源策略的基本原则是:当一个浏览器加载一个源(Origin)的文档或脚本时,它将只允许该文档或脚本与其自身相同源的资源进行交互,而不允许与其他源的资源进行直接交互。这种限制有助于防止恶意网站获取用户的敏感信息或进行未经授权的操作。
同源策略通常应用于以下方面:
DOM访问限制:一个源的JavaScript代码只能访问来自相同源的DOM对象,不能直接操作其他源的DOM对象。
Cookie限制:浏览器会将Cookie与其关联的源关联起来,并且在同源策略下,一个源的Cookie不会被发送到另一个源。
XHR请求限制:XMLHttpRequest对象(用于AJAX请求)在同源策略下只能向同一源发起请求。
Frame和iFrame限制:同源策略限制了页面中一个frame或iframe内加载的内容只能来自相同的源。
两个URL只有在以下所有方面都匹配时才被视为同源:
协议(Protocol):两个URL的协议必须相同,例如都是HTTP或都是HTTPS。
主机名(Host):两个URL的主机名 ...
Write-Up
未读Ez ⛳ v2按照题解中所讲下面这段代码比较重要
1234567891011ua.caddy.chal-kalmarc.tf {tls internaltemplatesimport html_reply `User-Agent: {{.Req.Header.Get "User-Agent"}}`}http.caddy.chal-kalmarc.tf {tls internaltemplatesimport html_reply "You are connected with {http.request.proto} ({tls_version}, {tls_cipher})."}
发现User-Agent处有可能是存在模板注入的,所以我们去试验一下 {{7}},会回显,但是输入其他的比如 {{7*7}}的时候会返回500,这 ...