记事本

Table Names II

http://www.wechall.net/challenge/nurfed/more_table_names/index.php 这道题里有黑名单过滤,在网上搜到了解答…… information_schema.processlist里有db,还有info是当前的query

Screwed Signup

http://www.wechall.net/challenge/screwed_signup/index.php 这道题比较有意思 经过一番尝试,发现了代码中不一致的地方:SQL table里username最多24个字符,但是preg_match检查时可以最多到64个。于是这里可能造成截断…… 另一个不协调的地方是signupGetUser。可以看到,在另一个函数里检查了密码,但取用...

MD5.SALT

http://www.wechall.net/challenge/MD5.SALT/index.php 首先注册了一个密码为空的用户。尝试发现似乎是执行两次SQL query,首先是取用户名,再对得到的行检查密码。 因为用了salt,我们先取出。因为注册的密码是空,所以计算得到的hash就是md5(salt): username=' union select password,passwo...

Crappyshare

http://www.wechall.net/challenge/crappyshare/index.php 检查代码,发现如果是通过url,会将文件内容也输出来。为了读取本地文件,我们用file://协议 file://solution.php

Addslashes

http://www.wechall.net/challenge/addslashes/index.php SQL宽字符注入,username=a%bf'%20union%20select%200x41646d696e--%20

Yourself PHP

http://www.wechall.net/challenge/yourself_php/index.php/asdf 因为username被转义了,不能在这注入 但是_$SERVER['PHP_SELF']被直接输出,而且这道题的标题就暗示了要从这里入手 http://www.wechall.net/challenge/yourself_php/index.php/"...

Table Names

http://www.wechall.net/challenge/table_names/index.php 很基本的注入,没有任何检查,3列,用limit 1,1读其他行的信息

Stop us

http://www.wechall.net/challenge/noother/stop_us/index.php 在购买过程中,首先domain数加1,然后再扣钱。如果运行到加完domain扣钱之前,那么就可以不花钱了 在文件开始处我们看到配置ignore_user_abort是false,所以我们就利用这点 在网上查了下其实connection abort还是比较复杂的, ...

Order By Query

http://www.wechall.net/challenge/order_by_query/index.php 用户输入在order by后面出现,只能用盲注 另外由于会检查参数by是否在白名单里,但用的是==,所以只要第一个字符是有效的数字即可 用二分法读内容 by=1,(case when (ascii(substring((select password from users ...

Brainfucked

https://www.wechall.net/challenge/brainfucked/index.php 这道题是jother混淆的javascript。用jother可以编码成字符串或者是函数,如果是字符串那么直接在浏览器里运就可以。这里是函数,实际上是f(something)()的形式,那么只要把something运行就可以 或者将其保存下来,直接用node运,因为没有docu...