网站开发

包含所有网站建设开发相关的教程内容,如CSS教程,JS教程,html教程,服务器配置,域名空间的购买教程.

登录功能写成这样,根本不需要密码就能拿到flag

发表于:2020-01-01 点击: 栏目:

网站开发

收藏(0)

很多网站都有登录功能,现在的各种CTF比赛为了考察参加选手对知识点的认识也都会出现这种所谓的“万能密码”,首先我们来看这个登录页面:

打开网站后是一个登录界面,顾名思义肯定是让我们登录后才能拿到我们的flag或者登录到后台,但是我们看了看好像有2种思路:

一、暴力破解,利用我们手上的字典来跑,这个么看运气了,如果字典厉害了那肯定没问题。

二、登录这个地方肯定是要和数据库交互的,必然要涉及到查询数据库中是否存在登录的用户账号密码了。

那第二种情况我们就要想想是否存在万能密码呢?

那就尝试一下把:

使用用户名:ssss' or 1=1#

密码随意:ssss

点击登录,发现成功了,flag出来了:

那这就是一道典型考察sql注入中万能密码的一道题目,看似非常简单,但是你要知道简单的ssss' or 1=1#这几个字符的意义。

首先ssss是随意输入的,单引号是为了闭合原本代码中的引号的,后面1=1肯定是恒成立的为了让整个语句恒成立,后面井号是为了注释掉代码中后面的语句。