简单入侵(php,get)

首先google一下:inurl:php?articalid=,然后找到一个网站,如下:


简单测试,发现该网站对url不设过滤:


我们的目标是获取该网站的管理员权限,很明显,管理员的名称和密码在数据库内的某个表中。

首先想了解数据库里有什么,尝试:select SCHEMA_NAME from information_schema.SCHEMATA


可惜失败了,没有读取information_schema.SCHEMATA的权限,只好慢慢猜储存用户名密码的数据库叫什么名字了,最后发现是admin:


上面出错的原因不过是union命令需要前后两个select的结果匹配,包括列数和列的类型,然后再去猜列名,出错时会显示:


而正确时会显示列数不匹配,最后猜测到两个列名分别为admin和pwd(可能是RP好,两三下就猜出来了)。

然后需要位置去显示这两个列,明显原本网页显示文章内容的位置可以利用,但要知道文章内容所处的列。先来猜列数,使用order by x,当x =8时出错:


所以列数为7,测试应该使用的显示位置:


结果5和6被显示出来:


也就是说第5和第6列都是字符串值,所以使用select 1,2,3,4,admin,pwd,7 from admin显示用户名和密码:


得出:


当然这可能不是唯一一个,可以用limit x,1显示其他。

然后怎么用?这个网站主页没有后台登录的链接,唯有靠RP猜,又很容易猜到admin_login.php:


搞掂。

别做坏事,我什么也没做,已联系网站管理人员。

你可能感兴趣的:(简单入侵(php,get))