SQLILABS中遇到的问题以及解决方式

在SQLILABS做题中遇到的问题

PAGE1

  1. 在刚开始解决问题的时候先通过测试进行闭合语句的考虑,闭合语句首先通过’来测试闭合语句,因为PHP中的SQL语句大多数以’或“或).进行闭合,在输入一个符号后发现报了一个语法的错误,就可以确定该符号存在闭合语句中了,然后在通过注释掉后边的代码来进行正确的语句数据分析。一般可以通过#或- -来注释掉后边的语句,在URL编码中+会被编译成空格,所以一般是- -+,但是在GET中很少用# 因为URL中的#有特殊的用处,http请求中不允许出现#。
  2. 在进行初始注入的时候有联合查询注入,报错注入,盲注(盲注又分为布尔盲注和时间延迟盲注),根据不同的场景进行不同的注入主要分为以下的一些场景。当有数据的正确显示的时候考虑联合查询,因为有union select 1,2,3…,可以进行数据的显示,如果没有数据的正确的显示,但是又报错的回显,这个时候考虑报错注入,主要包括extractvalue()和updatexml(),注意extractvalue有两个参数,updatexml有三个参数。通过database()函数来获取当前数据库,因为这两个函数有输出内容的限制,所以可以用substr(string,int,int),来进行输出字符的选择。如果没有数据的正确回显而且还没有报错的回显。这是就要考虑到时盲注,盲注又分为两种,如果数据正确和数据错误界面有明显的区别,那么就可以选择布尔盲注,通过界面的变化判断自己想要测试的内容是否一样,这里用到的函数有substr(),left()。如果登陆成功与否,界面的变化都不明显,甚至没有变化,那么就只剩下时间延迟注入了,顾名思义,时间延迟就是通过页面刷新时间的变化,来确定自己测试的数据是否正确。这里用到的数据主要为if(条件,正确执行的语句,不正确执行的语句),sleep(),刷新时间的延迟函数。
  3. 还有一个通过outfile()文件来获取数据,select ** into outfile “想要保存到的文件路径”,通过对数据库的遍历来在文件中查询想要获得的信息。
  4. 通过对请求同的注入,通过burp对请求头的改变进行测试。通过测试发现闭合语句,然后进行联合查询注入,或者报错注入
  5. 在cookie的请求头中,可能存在对cookie进行编码的情况,此时需要对cookie进行解码,来获取正确的编码信息,然后将想要注入的SQL语句进行相同的编码然后进行注入就行了。

PAGE2

题目中的问题

  1. 从这里开始主要是一些过滤的注入手段的题目,目前有这几种考虑的手法,如果过滤了注释符,通过and语句来构造闭合语句,如果过滤了空格,在LINUX环境中可以通过%0A来代替空格,但是WIN下看运气,试试也行,如果可以,构造union select,如果过滤了单个函数,则可以通过大小写来进行绕过,如果过滤了两个连着的函数,通过双写来进行绕过,同理and和or的过滤也可以通过anandd和oorr来进行绕过,如果那个空格的不能使,就要考虑通过||来进行报错注入或者盲注了,在使用||的时候需要将左边改成不相等的这样,才可以让页面根据后面的语句进行改变。

环境中的问题

  1. 最好是在LINUX中进行环境的搭建。在29时,我遇到了一些环境的问题,第二十九题主要考验的是WAF,需要用到双服务器,我用XAMPP打开tomcat的时候一直不行,我就下载了9版本我是JDK8,按照道理来说,JDK都是向下兼容的,所以自带的7和JDK8是可以的,但是当时并不知道,所以就一直改环境变量,改配置文件,但是都没有用,发现tomcat能启动起来,但是访问不了该服务器下的文件我还是不能访问,所以很懊恼,直到,我发现web.xml配置文件中的一个listing标签,下面是false,然后我改成了true ,发现可以了,但是进去29之后又报代码的错误,经过分析发现了是index.jsp文件中的路径没有指向apache服务器下的index.php,路径改正之后,就可以了,但还有一个问题就是xampp和tomcat不能很好的联动起来,发现可以修改xampp中的端口号,点击xampp中的config修改之后,显示有一个文件权限不够,那就增加权限,增加完之后,很好可以了,但是xampp启动tomcat之后会一直有一个命令行窗口,但是能理解毕竟是服务器嘛,但是为什么apache就没有呢,猜测还是jdk或者jre中的环境有问题。但是还好不影响做题了。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值