ID 387 easy_sql
前面就是简单的sql注入过程。判断变量为字符型后,猜解字段,然后开始查询信息。在查到数据库名和表名后,使用group_concat()来查看flag。
ID 427 include
说了让传文件,所以就在url里随便写一个咯。
看代码,allow_url_include 的状态是on。去网上搜了,这个参数和文件包含漏洞有关。
而这里又说了flag就在flag.php中,所以这里就要联想到用php://filter协议来查看源文件内容。
这里很明显可以看到出来应该是base64编码加密了,拿去解密一下就得到flag了。下面是关于php://filter协议的一个知识点补充。
ID 424 easy_rce
题目说了是rce,然后这里代码说是get接收一个名为url的变量,所以就直接在URL里操作。
没发现有flag,就看看根目录,果然就在这咯。然后直接看就好了。
ID 425 babyrce
代码的意思就是cookie中admin的值为1是,才会有文件包含。所以修改cookie即可。
然后访问这个文件,看代码可知url为可控的变量,但会过滤“/”和空格。所以用%09制表符过滤,可以找到flag。
ID 423 easyupload2.0
文件上传,肯定就是绕过,方法就那么多一个个试就完了,直接开搞。发现phtml可以上传。所以直接上传。上传后得不到什么信息的话,肯定就是后门连接咯。
这样就找到flag了。
ID 713 easy_md5
一开始以为是简单sql注入,试半天发现没什么效果。直接F12,发现了查询语句
这里首先是要知道这个md5函数的意义。
去网上搜了一下找到了绕过该函数的md5一个奇妙字符串 “ffifdyop”。原因是因为这个字符串经过MD5加密后在转换为字符串会变为’or’6<乱码>,这样原来的语句就变成了:
select * from admin where password='‘or’6<乱码>’,这样就成了一个永真式。然后得到的界面依然没什么信息,就F12看看咯。
发现这里说了两个变量的值不同,但MD5值相同,因此按要求在url里面输入即可,后面是一样的,只不过提交方式变为了POST。
然后就拿到了flag。