【实验目的】
1)理解【万能密码】的原理
2)学习【万能密码】的使用
【实验原理】
用户进行用户名和密码验证时,网站需要查询数据库。查询数据库就是执行SQL语句。针对此BBS论坛,当用户登录时,后台执行的数据库查询操作(SQL语句)是[Select user_id,user_type,email From usersWhere user_id=‘用户名‘ And password=‘密码‘]。由于网站后台在进行数据库查询的时候没有对单引号进行过滤,当输入用户名[admin]和万能密码[2‘or‘1]时,执行的SQL语句为[Select user_id,user_type,email From usersWhere user_id=‘admin‘ And password=‘2‘or‘1‘]。同时,由于SQL语句中逻辑运算符具有优先级,[=]优先于[and],[and]优先于[or],且适用传递性。因此,此SQL语句在后台解析时,分成两句[Select user_id,user_type,email From usersWhere user_id=‘admin‘ And password=‘2‘]和[‘1‘],两句bool值进行逻辑or运算,恒为TRUE。SQL语句的查询结果为TRUE,就意味着认证成功,也可以登录到系统中。
【实验步骤】
一、利用万能密码注入
1.1选择一个存在漏洞的论坛
1.2输入用户名【admin】,密码【2‘or‘1】,即可进入论坛
时间: 2024-08-07 08:37:59