Bugku、XCTF-WEB类写题过程
文章平均质量分 78
Bugku、XCTF-攻防世界,-WEB类写题过程
大灬白
没有绝对安全的系统
展开
-
sql-labs SQL注入平台-第5关Less-5 GET - Double Injection - Single Quotes - String (双注入GET单引号字符型注入)
Less-5 GET - Double Injection - Single Quotes - String (双注入GET单引号字符型注入)原创 2023-09-03 14:08:07 · 481 阅读 · 0 评论 -
sql-labs SQL注入平台-第4关Less-4 GET - Error based - Double Quotes - String (基于错误的GET双引号字符型注入)
Less-4 GET - Error based - Double Quotes - String (基于错误的GET双引号字符型注入)发现我们输入的id值被括号(“”)包围起来了,这样导致我们输入的值都会被当作括号里的id,且两边被双引号包围。其他的步骤就和第3关类似了。成功使用union联合查询。原创 2023-09-03 13:46:19 · 337 阅读 · 0 评论 -
sql-labs SQL注入平台-第3关Less-3 GET - Error based - Single quotes with twist string (基于错误的GET单引号变形字符型注入)
Less-3 GET - Error based - Single quotes with twist string (基于错误的GET单引号变形字符型注入)查看源代码发现我们输入的id值被括号(‘’)包围起来了,这样导致我们输入的值都会被当作括号里的id。成功使用union联合查询。原创 2023-05-28 16:10:53 · 261 阅读 · 0 评论 -
sql-labs SQL注入平台——第二关Less-2 GET - Error based - Intiger based (基于错误的GET整型注入)
只返回了2、3说明,后端从数据库中执行SQL语句select 1,2,3;只在前端显示了第2、3个字段,所以我们能看到的就只有第2、3个字段,就要把注入点放在第2、3个位置上。查询id为0的用户肯定是没有返回结果的,这样返回的就只有union联合查询的第二个查询 select 1,2,3;得到security数据库中的表emails,referers,uagents,users。返回结果错误:没有第4列数据,说明只存在三列数据。查询,返回结果按照前4列数据排序。(3)查询当前数据库的名称。原创 2023-05-28 15:49:22 · 1639 阅读 · 1 评论 -
sql-labs SQL注入平台-第1关Less-1 GET - Error based - Single quotes - String(基于错误的GET单引号字符型注入)
记得把php.in中的转义参数magic_quotes_gpc配置成Off不然发送的请求参数中的符号会被加上\转义,从而无法直接拼接到SQL语句中去。原创 2022-07-25 21:32:04 · 1431 阅读 · 1 评论 -
XCTF-攻防世界CTF平台-Web类——18、favorite_number(命令注入)(php5.5.9整数溢出、preg_match正则表达式绕过)
目录标题方法1:ls -i方法2:定义变量输出方法3:写到文件输出方法4:``和$()命令替换打开题目地址:提示了源代码,以及php版本是5.5.9 <?php//php5.5.9$stuff = $_POST["stuff"];$array = ['admin', 'user'];if($stuff === $array && $stuff[0] != 'admin') { $num= $_POST["num"]; if (preg_match("/^原创 2022-01-15 15:32:24 · 3641 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——17、ics-05(php://filter 协议、preg_replace函数命令执行)
查看题目:提示:其他破坏者会利用工控云管理系统设备维护中心的后门入侵系统,可能和后门程序有关,位置在工控云管理系统的设备维护中心打开题目地址:查看页面源代码:只有设备维护中心的链接点击会跳转到index.php:显示:数据接口请求异常再查看index.php的源代码:在云平台设备维护中心处有一个链接?page=index点击之后:它以GET方式提交page变量的值为index,后端index.php处理之后返回index。传入page=123456,返回123456所以我原创 2022-01-01 19:25:52 · 2942 阅读 · 0 评论 -
WEB安全-常见源码泄露
目录标题0x0 前言0x1 .git源码泄露0x2 .svn源码泄露0x3 DS_Store 文件泄露0x4 .hg 源码泄露0x5 常见编辑器备份文件泄露0x6 WEB-INF/web.xml泄露0x7 网站备份文件泄露0x8 cvs文件泄露0x0 前言关于WEB安全,这两天做题碰到了.git源码泄露的问题,刚好自己又记得不牢,所以写了个笔记,记录下关于常见的源码泄露。0x1 .git源码泄露当在一个空目录执行 git init 时,Git 会创建一个 .git 目录。 这个目录包含所有的 Git转载 2021-12-11 20:58:06 · 1160 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——19、mfw(.Git源代码泄露、php的assert断言)
打开题目地址:是一个作者用php写的网站在About页面,作者介绍他使用了Git、PHP、Bootstrap之后我们查看页面源代码:在每个页面的注释里都有一个隐藏页面:?page=flag,提示flag应该就在这个页面。我们也注意到home、contact和about页面都是通过访问index.php页面以GET方式的page参数来跳转页面的:?page=home、?page=contact、?page=about。所以我们直接访问:http://111.200.241.244:60434原创 2021-12-11 20:58:32 · 3794 阅读 · 1 评论 -
XCTF-攻防世界CTF平台-Web类——16、shrine(Flask框架之Jinja2模板渲染引擎、查看app.config[‘FLAG‘])
目录标题python模板注入代码分析:构造Python模板注入url_for()函数查看flagget_flashed_messages()函数查看flag打开题目地址:这是Python的flask渲染模板python模板注入python模板注入漏洞的产生在于Flask应用框架中render_template_string函数在渲染模板的时候使用了%s来动态的替换字符串,而且Flask模板中使用了Jinja2作为模板渲染引擎,{{}}在Jinja2中作为变量包裹标识符,在渲染的时候将{{}}包裹的内原创 2021-12-11 20:55:51 · 1872 阅读 · 2 评论 -
XCTF-攻防世界CTF平台-Web类——15、easytornado(SSTI服务器模板注入、Tornado 框架render渲染函数、MD5加密)
目录标题找到注入点查看tornado的官方文档得到cookie_secret的值计算md5值得到flag打开题目地址:题目描述使用了Tornado 框架,Tornado是Python的一种 Web 服务器软件框架。有三个文件,分别查看:提示flag所在的文件/fllllllllllllag,url中GET方式提交了2个参数:filename=/flag.txt&filehash=6d9ebcb83324409e048e0d8086173713提示使用了render函数,由于rend原创 2021-12-11 16:29:58 · 2848 阅读 · 1 评论 -
XCTF-攻防世界CTF平台-Web类——14、supersqli(SQL注入、关键词过滤)
目录标题方法一、堆叠注入1、rename修改表名和alter change修改列名2、rename修改表名和alter add添加列名方法二、handler语句方法三、预编译打开题目地址之后搜索:1’ or 1=1#成功返回了3条数据,说明存在SQL注入漏洞之后先判断有几列数据,使用order by 1让返回的数据按照第一列排序:1' or 1=1 order by 1 #返回了正确的结果,并且按照第一列排序了,说明至少存在一列数据。其实我们也可以直接从order by 2让返回的数据原创 2021-11-27 22:06:51 · 2070 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——13、Web_php_unserialize(php反序列化漏洞绕过__wakeup()函数、正则表达式)
打开题目地址:这也是一个php反序列化的题目源代码:<?php /*** 定义一个demo类*/class Demo { # 初始化$file变量的默认值是index.php private $file = 'index.php';# 类初始化的时候的构造函数,初始化当前对象的页面 public function __construct($file) { $this->file = $file; }# 对象销毁之前的析构函数,高原创 2021-11-27 12:33:37 · 1183 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——12、Web_python_template_injection(SSTI服务器模板注入、Flask框架之Jinja2模板渲染引擎)
目录标题模板引擎SSTI服务器模板注入python模板注入Flask应用框架Jinja2模板渲染引擎Python中常用于ssti的魔术方法获取基类的一些方法获取基本类的子类四种方法读取flag(1)site._Printer类调用os.popen函数执行任意命令(2)site._Printer类调用os.listdir函数执行查看本级目录下的文件(3)catch_warnings类的linecache函数执行任意命令(4)遍历基类找函数执行__import __("os").popen("ls").read原创 2021-11-26 23:00:56 · 1624 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——11、upload1(文件上传、前端校验)
目录标题(1)把οnchange="check();去掉(2)禁用浏览器的JS脚本运行(3)Burp Suite抓包修改文件后缀名POST方法一句话木马GET方法一句话木马蚁剑连接打开题目地址:是一个文件上传的题目选择一个一句话脚本上传:前端存在JS代码校验文件类型,如果上传的文件后缀不是jpg和png,就会让上传按钮变得不使能:要绕过前端的JS代码校验,常见的方法有:(1)把οnchange="check();去掉可以直接把οnchange="check();去掉,这样提交文件的时候就原创 2021-11-23 21:42:02 · 4896 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——10、unserialize3(反序列化漏洞绕过__wakeup()函数)
打开题目地址:发现是一段残缺的php代码题目名称unserialize3就是反序列化,要求我们通过反序列化漏洞绕过__wakeup()函数。相关概念:序列化: 序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。php的序列化和反序列化 php的序列化和反序列化由serialize()和unserialize()这两个函数来完成。s原创 2021-11-21 22:41:16 · 2480 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——9、PHP2(.phps文件、url编码)
先查看题目地址:希望我们获得这个网站的权限,查看源代码也没有其他信息:查看index页面:之后尝试查看index.phps文件(.phps文件就是php的源代码文件,通常用于提供给访问者查看php代码):phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。其实,只要不用php等已经在服> 务器中注册过的MIME类型为文件即可,但为了国际通用,所以才用了phps文件类型。 它的原创 2021-11-21 20:03:23 · 1566 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——8、NaNNaNNaNNaN-Batman(JS代码加密)
目录标题方法一、通过输入得到flag方法二:直接计算得到flag下载附件,查看:是一段乱码的JS代码我们把文件后缀改成.html文件,在浏览器运行看一下代码效果:一个输入框和“OK”按钮,输入“11”之后点击按钮没有反应,应该是没输入正确的字符串,查看源代码由eval()函数来执行前面的字符串“”指向的函数eval()函数:可计算某个字符串,并执行其中的的JavaScript 表达式、变量、语句或语句序列我们可以把用alert()函数或者console.log()函数之类的,把“_”的值原创 2021-11-21 18:59:58 · 1478 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——7、NewsCenter(SQL注入)
目录标题手工注入information_schema.columns 学习sqlmap工具注入:打开题目地址:只有一个搜索框,下面是几条消息,上面输入关键词可以搜索这几条消息,可能就是存在SQL注入漏洞:在后面加入’ or '1 = 1恒成立的判定条件:a ' or '1 = 1搜索结果变成了所有的消息,应该就是存在SQL注入手工注入之后我们在后面拼接order by,来查看表中有多少列,查询结果按照前1列排序(第一个’闭合后台命令的第一个’,#注释掉后台的第二个’):' order原创 2021-11-19 22:59:46 · 1849 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——6、warmup(php中include函数遍历漏洞)
打开题目地址:标题栏是Document,只有一张图片,所以我们审计源代码:有一个source.php打开:有一段判断页面的代码,还有一个hint.php提示flag在ffffllllaaaagggg中,应该是另一个文件中,直接访问ffffllllaaaagggg文件是不存在的:所以我们继续看source.php中的代码:<?php highlight_file(__FILE__); class emmm { public static fu原创 2021-11-15 23:02:22 · 1573 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——5、ics-06(抓包暴力破解)
题目提示:打开题目地址:是一个工控云管理系统,左边的栏目中只有“报表中心”的按钮是有一个链接可以点的,其他的都是摆设,这个可以查看源代码发现:点击“报表中心”的按钮查看:是一个查询指定日期的页面,照样查看源代码:没有别的链接页面了,那flag应该就在这个页面的功能选择日期,点击确认按钮之后也没有反应:突然发现浏览器地址栏http://111.200.241.244:51918/index.php?id=1,开始猜测是SQL注入结果不是,后来才知道是id暴力破解。直接用BP抓包原创 2021-11-14 21:23:50 · 2495 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——4、Web_php_include(php中strstr()函数绕过、数据流协议)
目录标题一级目录方法一、文件包含:php伪协议绕过strstr()函数方法二、文件包含:GET方式提交命令方法三、data://伪协议方法四、一句话木马连接后台方法五、data://伪协议+一句话木马一级目录打开题目地址:代码:<?phpshow_source(__FILE__);echo $_GET['hello']; //输出hello变量指向的内容$page=$_GET['page']; //把page变量的值赋给$pagewhile (strstr($page原创 2021-11-14 17:30:53 · 3215 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Crypto类——4、flag_in_your_hand1(前端输入加密)
下载文件之后,发现是一道前端的题目:有一个index.html文件和一个script-min.js文件:运行html文件:要求输入一个Token,然后点Get flag!按钮:代码逻辑就是输入一个字符串,然后经过计算对比得到正确的flag我们先查看源代码:<html> <head> <title>Flag in your Hand</title> <style type="text/css"> body {原创 2021-09-12 14:22:34 · 1565 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——3、php_rce(ThinkPHP V5.0框架远程代码执行漏洞)
先访问题目场景:主页提示我们:网页使用的是ThinkPHP框架,版本为5.0这道题主要是考察:ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞。该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞,受影响的版本包括5.0和5.1版本。攻击的exp是:http://111.200.241.244:61059/index.php?s=index/\think\app/invokefuncti原创 2021-09-03 11:10:19 · 1119 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——2、Training-WWW-Robots(目录泄露)
这是一道文件目录泄露的题目先访问题目场景:在这个小的训练挑战中,你将学习机器人排除标准。 robots.txt文件被网络爬虫用来检查他们是否被允许抓取和索引你的网站或只是部分网站。有时这些文件显示目录结构,而不是保护内容不被抓取。享受吧!它告诉搜索引擎(爬虫)可以访问站内的那些内容不能访问那些内容,但是它只是一个说明上的不允许,并不是技术上的不允许。接着我们访问robots.txt文件查看它的协议内容:http://111.200.241.244:51837/robots.txt意原创 2021-09-01 10:24:55 · 5371 阅读 · 0 评论 -
XCTF-攻防世界CTF平台-Web类——1、baby_web(HTTP响应)
打开题目,提示想想初始页面是哪个:打开题目场景:这个的主要思路是访问初始页面http://111.200.241.244:52996/index.php:Flag就在返回的响应数据包中的FLAG字段:flag{very_baby_web}抓包也同样能找到flaghttp://111.200.241.244:52996/1.phphttp://111.200.241.244:52996/index.php...原创 2021-09-01 20:00:10 · 416 阅读 · 0 评论 -
BugKu-WEB-4、web基础$_POST(GET、POST提交方式)
点开网页后:解题思路:阅读代码后可知是post传参,所以可构造一个post传参。可以有以下几种方式: a、利用火狐浏览器的插件HackBar b、自己构造一个表单 c、bp抓包。 a、利用火狐浏览器的插件: F12之后选择HackBar,勾选post data,将题目页面的地址与需要构造的post传参填入,运行即可得到flag的值。 b、自己构造一个表单 F...原创 2020-06-27 16:45:24 · 7859 阅读 · 0 评论 -
Bugku-WEB-成绩单(SQLMap注入)
成绩单链接:http://120.24.86.145:8002/chengjidan/这个一看应该是SQL注入 先提交一个数据看看发现有一个post数据 那就利用这个数据注入白先抓包然后点击action——>从copy to file我保存在了 D盘Bugku.txt先打开sqlmap,测试目标网址使用的数据库:sqlmap -r “D:\浏览器下载\渗透测试工...原创 2020-06-27 16:44:59 · 8505 阅读 · 0 评论 -
bugku-web-5、zip伪加密(伪加密文件的解密方式)
5、zip伪加密分析:下载zip,题目提示zip伪加密,那就很好办了,直接用winhex打开压缩包,找到第二个pk:将09改为00(奇数表示加密,偶数表示未加密):然后得出 flag{Adm1N-B2G-kU-SZIP}...原创 2020-06-27 16:44:30 · 6959 阅读 · 0 评论