知识点:

万能密码'='

一道登陆型的SQL注入题目,这种题目一般有四种题型:

1.在username中通过union联查select一个已知字符来与传递的password匹配完成登陆

2.使用万能密码登陆

3.通过SQL注入获取数据库中的账号密码然后登陆

4.通过SQL注入直接获取数据库中的flag

后台处理逻辑一般有两种:

1.同时使用两个字段值来查询数据库,错误回显一般是“用户名或密码错误”之类的统一报错

2.先使用username查询数据库得到password,再进行对比,错误回显一般是“用户名不存在”,“密码错误”之类的分开报错

首先直接试了一下万能密码

1' or '1'='1

1 or 1 = 1

发现 or  被过滤了

换成大写,大小写混合都不行

还过滤了#   --   select等

没有被过滤的有    '     =

猜解SQL语句

select xxx from xxx where username='' and password=''

select ,,, from ,,, where username='xxx'=' 'and password='xxx'='';这是一个永真的式子

方法二:

这里提一下另外一种解法,因为常用的or,||,union之类的关键词都被吃掉了的原因,这里使用的是异或字符^来进行确认的。

传入username=1\&password=^'1,如果后台是第二种处理逻辑,那么SQL语句就会是:

select ??? from ??? where username='1\' and password='^'1'

通过转义符\转义username的第二个单引号,在SQL运算中,会先进行异或运算。此时username的值为1\' and password=,而这个字符串跟1相等,异或为0,所以最后的SQL语句为select ??? from ??? where username=0,而0会匹配所有第一个字符不为数字的字符串。

结果:

 
通过转义符\转义username的第二个单引号,在SQL运算中,会先进行异或运算。此时username的值为1\' and password=,而这个字符串跟1相等,异或为0,所以最后的SQL语句为select ??? from ??? where username=0,而0会匹配所有第一个字符不为数字的字符串。
部分内容转自:https://www.jianshu.com/p/bc4a506ffebd,感谢分享

实验吧web登陆一下好吗的更多相关文章

  1. 实验八 Web基础 SQL注入原理

    实验八 Web基础 实验要求 (1)Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2)Web前端javascipt ...

  2. 2017-2018-2 20155225《网络对抗技术》实验九 Web安全基础

    2017-2018-2 20155225<网络对抗技术>实验九 Web安全基础 WebGoat 1.String SQL Injection 题目是想办法得到数据库所有人的信用卡号,用Sm ...

  3. 20155201 网络攻防技术 实验九 Web安全基础

    20155201 网络攻防技术 实验九 Web安全基础 一.实践内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.报告内容: 1. 基础问题回答 1)SQL注入攻击 ...

  4. 20155201 网络攻防技术 实验八 Web基础

    20155201 网络攻防技术 实验八 Web基础 一.实践内容 Web前端HTML,能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. We ...

  5. 20155222卢梓杰 实验九 Web安全基础

    实验九 Web安全基础 今天不多bb,打开webgoat就是干好吧 1.简单字符串sql注入 可以看到这个实验说明是 "下表允许用户查看其信用卡号码.尝试插入一个SQL字符串,以显示所有信用 ...

  6. 20155222卢梓杰 实验八 Web基础

    实验八 Web基础 1.安装apache sudo apt-get install apache2 2.启动apache service apache2 start 3.使用netstat -tupl ...

  7. 20155235 《网络攻防》 实验八 Web基础

    20155235 <网络攻防> 实验八 Web基础 实验内容 Web前端HTML(0.5分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表 ...

  8. 实验八 Web基础

    实验八 Web基础 1.安装apache sudo apt-get install apache2 2.启动apache service apache2 start 3.使用 netstat -tup ...

  9. 20155313 杨瀚 《网络对抗技术》实验九 Web安全基础

    20155313 杨瀚 <网络对抗技术>实验九 Web安全基础 一.实验目的 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.基础问题回答 1.SQL注入攻 ...

随机推荐

  1. QT写hello world 以及信号槽机制

    QT是一个C++的库,不仅仅有GUI的库.首先写一个hello world吧.敲代码,从hello world 写起. #include<QtGui/QApplication> #incl ...

  2. Sql去重一些技巧

    下午的时候遇到点问题,Sql去重,简单的去重可以用 DISTINCT 关键字去重,不过,很多情况下用这个解决不了问题.重复的数据千变万化,例如:类似于qq.微信的最近联系人功能,读取这些数据肯定要和消 ...

  3. Cacti监控mysql数据库server实现过程

    前言:cactiserver端安装请參考:http://blog.csdn.net/mchdba/article/details/27120605 1 先在cactiserver端安装mysql模板 ...

  4. Codeforces 962D - Merge Equals

    链接: http://codeforces.com/problemset/problem/962/D 题意: 给出一个整数序列.选择其中最小且出现两次(或以上)的数,把最左边的两个从序列中移除,然后把 ...

  5. [19/04/05-星期五] 多线程_Thread(线程、线条)、基本术语

    一.基本概念 多线程是Java语言的重要特性,大量应用于网络编程.服务器端程序的开发,最常见的UI界面底层原理.操作系统底层原理都大量使用了多线程. 我们可以流畅的点击软件或者游戏中的各种按钮,其实, ...

  6. 20145223 杨梦云 《网络对抗》shellcode实验+return-to-libc实验

    20145223 杨梦云 <网络对抗>shellcode实验+return-to-libc实验 shellcode注入实践 Shellcode基础知识 ·Shellcode实际是一段代码( ...

  7. tensorflow一个很好的博客

    http://blog.csdn.net/mydear_11000/article/details/53197891

  8. [转]解決 IE10 瀏覽器無法使用 ASP.NET 表單驗證登入的問題

    今天凌晨在客戶端上線,當程式佈署到正式機後發現我們的網站唯獨只有 IE10 瀏覽器無法成功登入,任何其他瀏覽器版本或使用較低的 IE 版本都可以正常登入,使用 IE 相容性檢視也都可以正常登入,想說會 ...

  9. [转]order by 1是什么意思?

    ORDER BY 1 表示 所select 的字段按第一个字段排序 ORDER BY ASC应该没有这样写法,ORDER BY 后面不是字段就是数字, 可以ORDER BY 1 ASC 或者ORDER ...

  10. C++重载操作符operator

    operator是C++关键字,用于对C++进行扩展: 1.可以被重载的操作符:new,new[],delete,delete[],+,-,*,/,%,^,&,|,~,!,=,<,> ...