Password checker: 代码执行
Little Doggy Tables: SQL注入
Password checker 50
Task
|
|
Solution
查看源代码,发现有如下js:
访问:
得到密码:password123 ,输进去后只是弹出一个提示框。
考虑命令执行,尝试查找flag:

|
|
得到flag:
另外读到run.php的源码:
Little Doggy Tables 100
Task
|
|
Solution
源码如下:
从题目的一大段描述,以及给出的源码来看应该是考察SQLite3注入。
关键在于下面这两句代码:
会将单引号' 通过正则替换成\'进行转义,来阻止我们闭合。但如果我们传入\',则在通过正则替换后会变成\\',其中第二个’\’是正则添加的,配合我们传入的\,会被转义,从而使我们的单引号逃逸。
在sqlite中,注释符为--,尝试访问:
则服务器端执行的数据库查询语句如下,注意\\:

单引号逃逸成功。
接下去考虑如何注出数据。

说明operatives表里有三个字段:codename,species,secret 。
|
|

直接提交不对。。。后面发现应该要改变limit。最后payload:

flag: