2024-5-27~6.1刷题记录
[NCTF2019]True XML cookbook进来抓个登录包:
根据题目名字知道输入的用户名和密码使用XML格式的,并且发现回显的msg标签内容对应着发过去的username。
打入XXE的payload:
已经可以读取文件了,经过几次测试读不到flag,有可能藏在内网之中。
通过读取/proc/net/fib_trie可以探测内网的ip。
构造python脚本:
1234567891011121314151617181920212223242526import requests as resurl="http://7335b722-9f8f-4016-a374-c8b76e6639e3.node5.buuoj.cn:81/doLogin.php"rawPayload='<?xml version="1.0"?>'\ '<!DOCTYPE user ['\ '<!ENTITY payload1 SYSTEM "http ...
数据结构学习随记
数据结构链表重要题目6-2 有序链表合并
请编程实现有序链表合并。
函数接口定义:
123LinkList Read( ); //按顺序依次读入元素,生成一个带头结点的单链表,表中元素值排列顺序与输入顺序一致,若输入-1,则创建链表结束(链表中不包含-1)。此处要求元素值按非递减顺序录入LinkList Merge( LinkList L1, LinkList L2 ); //合并L1与L2。已知L1与L2中的元素非递减排列,要求合并后的单链表中元素也按值非递减排列。
参数 L1 和 L2 是两个有序链表(均按照非递减排列),均为带头结点的单链表。
裁判测试程序样例:
123456789101112131415161718192021222324252627282930313233#include <stdio.h>#include <stdlib.h>typedef int ElemType;typedef struct Node { ElemType data; struct Node *next;}LNode,*Link ...
2024-5-11~5-17刷题记录
[WUSTCTF2020]CV Maker
开始的页面先随便注册一个账号,登录进去。
发现一个头像上传的地方:
想到这个地方可能可以传木马进去,先在不做任何特殊操作的情况下传一个php一句话木马,观察回显:
盲猜exif_imagetype是一个函数,它在这里检测到了上传内容的某些非法内容导致无法通过,直接上网搜:
只读取并检查第一个字节,说明如果只存在这个函数的过滤下,只用对图像第一个字节动手脚就能通过。
于是加上GIF89a头进行上传,这次就成功了,甚至不用改后缀这些的。
第二个点在于如何去寻找我们上传的文件在网页的哪个位置:法一:
在burp的response页面直接搜索相应的关键词:
法二:
右键显示图片的位置,直接点击检查:
接着到达相应页面直接利用木马即可读取flag:
[watevrCTF-2019]Cookie Store大便题目,把Cookie用base64解一下,修改一下金额再base64回去,网页返回一个新的cookie,flag就在里面。
[红明谷CTF 2021]write_shell源码如下:
123456789101112131415161718 ...
记一道有意思的国赛题
[CISCN2019 华北赛区 Day1 Web2]ikunPython脚本的编写先随便注册一个账号,返回/shop路由,观察到以下的提示:
在商店中找了半天也没法找到lv6的账号。
打开网页源代码,发现每个不同等级的账号的都有这样的“标识”:
这是一个利用点,我们可以编写如下的python脚本:
12345678import requestsfor i in range(1,1000): res = requests.get(url = f'http://a33649c7-1b4d-446e-8c90-3818446701a7.node5.buuoj.cn:81/shop?page={i}') print(i) if 'lv6.png' in res.text: print(i) break
代码比较简单这里不再赘述,这个脚本跑得比较慢,最后出来结果是i=181,然后来到181页,果然看到了6级号:
使用burp抓包改优惠值用burpsuite抓结算的包:
重点 ...
WEB安全综合笔记(不全)
WEB安全综合笔记SSRF漏洞代码PHP1234567891011<?phperror_reporting(0);highlight_file(__FILE__);$url=$_POST['url'];$ch=curl_init($url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$result=curl_exec($ch);curl_close($ch);echo ($result);?>
伪协议file://
读取文件用,格式为:file://[文件路径]
1234file:///etc/passwd 读取文件passwdfile:///var/www/html/flag.php 读web目录下的flag.phpfile:///proc/net/arp 寻找内网其他主机file:///proc/net/fib_trie 显示当前网段路由信息
dict:& ...
CTF刷题笔记
CTF题目总结[强网杯 2019]随便注tips:表名为数字时,需要用反引号包括起来查询。
10'; show columns from `1919810931114514 `; #
alter语句:
1alter table 表名 rename 新表名;
1alter table 表名 change 旧字段名 新字段名 类型;
题目思路:
在框中输入1、2、3时,观察回显有两行,并结合堆叠注入观察本题中的两个表,发现‘words’表里面有两个列,所以判断题目中的后端sql语句为:
1"select * from words where id='".$_GET['inject']."'"
又由输入1、2、3等数字时出现的回显,可推测它是以id字段为索引
所以可以将含有flag的表’1919810931114514’改名成words:
11';alter table words rename aaa;alter table `1919810931114514` change fla ...