继续写题。

  这题看上去是一道sql注入题。F12查看后台代码。

  可以看到后台有两个变量,分别是uname以及passwd。然后接下来读一下后台的代码,这里的意思是,如果用户输入的密码经过md5加密后,和通过select语句选出来的password相等,则输出“login success”,否则输出“login fail”。利用这里md5()条件语句,我们可以对后台的sql语句进行注入。

  发包之后,这里后台的sql语句实际上就变成了"select password from gwuser where username ='-1' union select md5(1)#'"。接下来后台条件语句进行判断的时候,因为此时row['password']为md5(1),而发过去的包里面passwd亦等于md5(1),条件成立,所以页面会跳转到这样一个界面,如下图所示。

  继续F12查看后台代码,如下图所示。

  可以看到后台也有两个变量,分别是no和name。先尝试一下sql注入爆表,如下图所示。

  成功爆出表名——“gwhts"

  而后继续爆行,如法炮制。不过接下来很快会发现报错,弹出"Attack!"

  检查过自身语句没有错误后,这时考虑到了后台对标点符号的过滤(本题亮点)。于是将? / . ' ` "等英文标点符号导入到burpsuit,一起发包,得到下图。

  通过上面两张图我们可以发现,在输入name变量的时候, ' 被后台过滤掉了,而其他字符没有。于是sql注入语句应该要改为"no=-1\&name= union select column_name from information_schema.columns where table_name="gwhts" limit 1,1#"。爆出行val。

  最后爆出flag。如下图所示。

WEB新手之sql注入的更多相关文章

  1. WEB 安全之 SQL注入 < 三 > 提权

    SQL注入是一个比较“古老”的话题,虽然现在存在这种漏洞的站点比较少了,我们还是有必要了解一下它的危害,及其常用的手段,知己知彼方能百战不殆.进攻与防守相当于矛和盾的关系,我们如果能清楚了解 攻击的全 ...

  2. WEB 安全之 SQL注入 < 二 > 暴库

    SQL注入是一个比较"古老"的话题,虽然现在存在这种漏洞的站点比较少了,我们还是有必要了解一下它的危害,及其常用的手段,知己知彼方能百战不殆.进攻与防守相当于矛和盾的关系,我们如果 ...

  3. web安全学习(sql注入1)

    web安全学习(sql注入1) 一.简介 sql语句就是数据库语句,而sql注入就是用户将自己构造的恶意sql语句提交,然后服务器执行提交的危险语句.sql注入可能造成信息泄露以及服务器被控制等危害. ...

  4. 【渗透攻防Web篇】SQL注入攻击高级

    前言 前面我们学习了如何寻找,确认,利用SQL注入漏洞的技术,本篇文章我将介绍一些更高级的技术,避开过滤,绕开防御.有攻必有防,当然还要来探讨一下SQL注入防御技巧. 目录 第五节 避开过滤方法总结 ...

  5. [红日安全]Web安全Day1 - SQL注入实战攻防

    本文由红日安全成员: Aixic 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名 ...

  6. mysql基础语法及拓展到web中的sql注入

    本来是想写下javaweb的mvc(tomcat, spring, mysql)的搭建,  昨天搭到凌晨3点, 谁知道jdbcTemplate的jar包不好使, 想死的心都有了, 想想还是休息一下, ...

  7. web安全之sql注入实例(5.0之前的)

    web安全之sql(5.0之前)注入实例 5.0之前的数据库没有information库. 所以这里需要运用的是load_file()函数来获取信息. 1.判断是否有sql注入,用and 1=1 和 ...

  8. WEB 安全之 SQL注入<一> 盲注

    SQL注入是一个比较"古老"的话题,虽然现在存在这种漏洞的站点比较少了,我们还是有必要了解一下它的危害,及其常用的手段,知己知彼方能百战不殆.进攻与防守相当于矛和盾的关系,我们如果 ...

  9. Web安全 之 SQL注入

    随着B/S模式应用开发的发展,使用这种模式编写的应用程序也越来越多.相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患.用户可以提交一段数据库查询代码,根据 ...

随机推荐

  1. elasticsearch中的mapping简介

    默认mapping elasticsearch(以下简称ES)是没有模式(schema)的,当我们执行以下命令: curl -d '{"name":"zach" ...

  2. 关于setTimeout()你所不知道的地方

    前言:看了这篇文章,1.注意setTimeout引用的是全部变量还是局部变量了,当直接调用外部函数方法时,实际上函数内部的变量已经变成全 局.2.提醒我防止出错的,用匿名函数不容易出错.3.setTi ...

  3. 面试-Android之java基础

    1.HashMap是否为线程安全. 不安全的. 2.int[] a ={1,2,3,4}; int[]b =a ; b[0]=3; a[0]的值是改变的. 3.组合模式 安卓listview的不同ce ...

  4. web前端整套面试题(三)--网易的面试题

    题型分析: 一.选择题部分(30分) 元素出栈可能性 排序方法的优缺点 HTTP请求方法 关系型数据库种类 多线程(进程与线程共享) 计算机网络协议 linux指令 JQuery实现方法 二.编程题( ...

  5. ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01000: 超出打开游标的最大数

    有程序没关闭游标, --打开了哪些游标 select * from v$open_cursor 在open cursor之后一定要注意要close cursor(在store procedure里更应 ...

  6. 高性能Web服务器Nginx的配置与部署研究(3)Nginx请求处理机制

    1. 处理什么样的请求 处理访问到 Nginx 所在 IP 地址的请求,并且这些请求的 HTTP 头信息中的 Host 为所要处理的域名(如下以80端口为例),如下几个 server 就对应响应的请求 ...

  7. Alpha混合

    ShaderLab syntax: Blending 混合 Blending is used to make transparent objects. 混合是用来制作透明物体的. When graph ...

  8. MYSQL中GROUP BY的细节及SELECT语句顺序

    一.GROUP BY语句的细节 我们知道,在sql中,GROUP BY语句主要用来给数据分组,以便能对每个组进行聚集计算,但是GROUP BY也有一些限制需要知道: 1. GROUP BY字句可以包含 ...

  9. Docker CE部署

    一.概述 Docker 在1.13版本之后,从2017年的3月1日开始,版本命名规则变为如下: 项目 说明 版本格式 YY.MM Stable 每个季度发行 Edge版本 每个月发行 同时Docker ...

  10. OpenNebula 4.0 Beta 新特性介绍

    http://blog.chinaunix.net/uid-20940095-id-3561376.html 2013年3月26号,OpenNebula社区发布了OpenNebula 4.0 Beta ...