[BUUCTF]极客大挑战 2019EasySQL1 write up

顾名思义,简单的SQL注入!
先浅了解一下注入:SQL 注入(SQL Injection) 是发生在 Web 程序中数据库层的安全漏洞,是网站存在最多也是最简单的漏洞。 主要原因是程序对用户输入数据的合法性没有判断和处理,导致攻击者可以在 Web 应用程序中事先定义好的 SQL 语句中添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步获取到数据信息。 简而言之,SQL 注入就是在用户输入的字符串中加入 SQL 语句,如果在设计不良的程序中忽略了检查,那么这些注入进去的 SQL 语句就会被数据库服务器误认为是正常的 SQL 语句而运行,攻击者就可以执行计划外的命令或访问未被授权的数据。
想详细了解的话,戳一下链接吧:https://www.php.cn/sql/487013.html(针不戳呀针不戳)
随便输输常用密码啦,就会显示错误:



flag{a0b2c066-8ec8-4814-9573-9dc3787db556}
万能密码原理:SQL语句sql="select * from user where username='"&username&"'and password='"& password&'",当我们的密码填写'or'1'='1提交的时候,此时语句中的password等于'or'1'='1,那么,这条SQL语句就变成了:sql="select * from user where username='"&username&"'and password= ''or'1'='1',然而,1=1是恒等条件,自然也就通过了程序的验证。
方法:首先我们需要在密码的最前面有一个单引号,来闭合SQL语句中的单引号,然后构造一个or,也就是或者,后面加一个恒等条件即可最简单的就是1=1,同样为了使SQL语句不出错,是来闭合程序中的SQL语句的后面的单引号的,如果我们在后面再加上一个单引号的话就会出错。简而言之:由于网站后台在进行数据库查询的时候没有对单引号进行过滤,当输入用户名【admin】和万能密码【2' or'1】时,执行的SQL语句为【Select user_id,user_type,email From users Where user_id=' admin' And password='2'or'1'].同时,由于SQL语句中逻辑运算符具有优先级,【=】优先于【and】,【and】优先于【or】,且适用传递性。因此,此SQL语句在后台解析时,分成两句【Select user_id,user_type,email From users Where user_id='admin' And password = '2']和【1'】,两句bool值进行逻辑or运算,恒为TRUE。SQL语句的查询结果为TRUE,就意味着认证成
功,也可以登录到系统中。(是不是很简而言之)
[BUUCTF]极客大挑战 2019EasySQL1 write up的更多相关文章
- BUUCTF [极客大挑战 2019]Not Bad
总的来说这是一个64位orw的题 开头先在主函数里分配了一个很大的空间 1 __int64 __fastcall main(int a1, char **a2, char **a3) 2 { 3 mm ...
- 2016第七季极客大挑战Writeup
第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...
- BUUOJ [极客大挑战 2019]Secret File
[极客大挑战 2019]Secret File 0X01考点 php的file伪协议读取文件 ?file=php://filter/convert.base64-encode/resource= 0X ...
- 三叶草极客大挑战2020 部分题目Writeup
三叶草极客大挑战2020 部分题目Writeup Web Welcome 打开后状态码405,555555,然后看了一下报头存在请求错误,换成POST请求后,查看到源码 <?php error_ ...
- [原题复现][极客大挑战 2019]BuyFlag
简介 原题复现:[极客大挑战 2019]BuyFlag 考察知识点:php函数特性(is_numeric().strcmp函数()) 线上平台:https://buuoj.cn(北京联合大学公开 ...
- 极客大挑战2019 http
极客大挑战 http referer 请求头 xff 1.查看源码,发现secret.php 2.提示要把来源改成Sycsecret.buuoj.cn,抓包,添加Referer Referer:htt ...
- 2020极客大挑战Web题
前言 wp是以前写的,整理一下发上来. 不是很全. 2020 极客大挑战 WEB 1.sha1碰撞 题目 图片: 思路 题目说,换一种请求方式.于是换成post.得到一给含有代码的图片 图片: 分析该 ...
- BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf)+[极客大挑战 2019]LoveSQL(联合注入)
BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf) 记一道联合注入的题,这道题存在过滤. 经过手工的测试,网站会检验用户名和密码是否都存在,如果在用户名处插入注入语句,语句后面 ...
- 第九届极客大挑战 部分WP
CODE 和0xpoker分0day 百度 取石子游戏. https://blog.csdn.net/qq_33765907/article/details/51174524 已经说得很详细了,慢慢来 ...
- SYC极客大挑战部分题目writeup
Welcome 复制黏贴flag即可 我相信你正在与我相遇的路上马不停蹄 关注微信工作号回复"我要flag"即可获得flag 代号为geek的行动第一幕:毒雾初现 发现flag为摩 ...
随机推荐
- Angualr动态加载组件
<ng-container *ngComponentOutlet="customComponent"></ng-container>
- 循环4-for循环
一.语法 for循环和while类似,常用于执行有限次数的循环,有两种语法结构, 1.变量列表循环 语法: for 变量名 in 变量取值列表 do 指令...... done 变量取值列表中的值,要 ...
- 【Java】dto转json
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifac ...
- 训练题——ADC读取温度
Author:XuanYu 利用ADC测量单片机内部温度 废话不多说,直接开搞. 科普 先科普一下ADC(不是 AD carry!),ADC是模数转化器,就是模拟信号转换成数字信号的东西,通常的模数转 ...
- tensorflow疑问总结
1.sigmoid 函数为什么不好? (1)激活函数计算量大(在正向传播和反向传播中都包含幂运算和除法) (2)反向传播求误差梯度时,求导涉及除法 (3)Sigmoid倒数取值范围是[0,0.25], ...
- C++/Lua栈操作
一.Lua栈结构 1. index为正数 c++获取lua的数组元素的实例: // 接口参数:void lua_rawgeti (lua_State *L, int index, int n); lu ...
- 【Android异常】关于静态注册BroadcastReceiver接收不到系统广播的问题
如果你静态注册的广播无法接收到消息,请先检查下:你的安卓版本是不是8.0+ 前言Google官方声明:Beginning with Android 8.0 (API level 26), the sy ...
- 在CentOS下安装nginx+php环境
一.nginx 安装 1. 在nginx官网下载nginx源码 提供一个nginx官网下载地址: http://nginx.org/download/nginx-1.12.2.tar.gz 注意:请先 ...
- html-list
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- python更新pip报错pip._vendor.urllib3.exceptions.ProxySchemeUnknown: Not supported proxy scheme None
更新pip报错: 看到最后一行很明显是proxy的问题,查看cmd下的代理 将代理删掉重启cmd执行命令就不会报错了