目录
方法一(设置 sql_mode=PIPES_AS_CONCAT来转换操作符)
六、[GXYCTF2019]Ping Ping Ping 1
一、 堆叠注入(SQL)
堆叠注入原理:
堆叠查询可以执行多条语句,多条语句之间以分号隔开。堆叠注入就是利用在一条查询语句结束之后,在语句末尾加入分号之后再插入恶意的SQL语句,就可以达到攻击者的意图。
基于mysqli数据对象的堆叠注入:需要执行多条SQL语句,就需要使用mysqli_multi_query()方法,mysqli_multi_query()可以执行多条SQL语句,如果后端代码使用这个方法去执行SQL语句,我们就可以利用堆叠注入获取后台数据库的信息。
例题
1.进入页面,发现输入非零会有回显,输入零和字母就没有回显 2.此题使用堆叠注入,输入1;show databases;显示所有的库
3.输入1;show tables;查所有的表
4.输入1;show columns from Flag查flag表的字段,发现报错
5.猜测过滤了一些内容,这里有两种方法
方法一(设置 sql_mode=PIPES_AS_CONCAT来转换操作符)
构建payload:
1;set sql_mode=PIPES_AS_CONCAT;select 1
注:这里的逻辑是先把||转换为连接操作符,注意分号隔断了前面的命令,所以要再次添加select来进行查询,这里把1换成其他非零数字也一样会回显flag
方法二 (操作符重置法)
已知后端语句是select 输入内容 || flag from Flag,输入*,1就相当于构造了select *,1 || flag from Flag,这条语句执行起来相当于select *, 1 from Flag
二、sql注入中过滤空格
1.判断列数
2.判断显错位
3.爆数据库
4.爆表名
5.爆字段名
6.爆数据,发现只有一半,想到使用substring()函数
7. 发现substring()函数被过滤,使用mid函数,爆出后一半flag
注意:mid最大回显长度为20个字符
三、密码口令----默认口令(ctfhub)
1.打开页面,发现存在验证码,与之前弱口令不一样,不能用抓包,根据提示,上网找EYOU邮件网关
2.发现有默认的信息,一个一个试
3.最后试出flag
知识点
常见网络安全设备弱口令(默认口令):
设备 默认账号 默认密码
深信服产品 sangfor sangfor sangfor@2018 sangfor@2019
深信服科技 AD dlanrecover
深信服负载均衡 AD 3.6 admin admin
深信服WAC ( WNS V2.6) admin admin
深信服VPN Admin Admin
深信服ipsec-VPN (SSL 5.5) Admin Admin
深信服AC6.0 admin admin
SANGFOR防火墙 admin sangfor
深信服AF(NGAF V2.2) admin sangfor
深信服NGAF下一代应用防火墙(NGAF V4.3) admin admin
深信服AD3.9 admin admin
深信服上网行为管理设备数据中心 Admin 密码为空
SANGFOR_AD_v5.1 admin admin
网御漏洞扫描系统 leadsec leadsec
天阗入侵检测与管理系统 V7.0 Admin venus70
Audit venus70
adm venus70
天阗入侵检测与管理系统 V6.0 Admin venus60
Audit venus60
adm venus60
网御WAF集中控制中心(V3.0R5.0) admin leadsec.waf
audit leadsec.waf
adm leadsec.waf
联想网御 administrator administrator
网御事件服务器 admin admin123
联想网御防火墙PowerV administrator administrator
联想网御入侵检测系统 lenovo default
网络卫士入侵检测系统 admin talent
网御入侵检测系统V3.2.72.0 adm leadsec32
admin leadsec32
联想网御入侵检测系统IDS root 111111
admin admin123
科来网络回溯分析系统 csadmin colasoft
中控考勤机web3.0 administrator 123456
H3C iMC admin admin
H3C SecPath系列 admin admin
H3C S5120-SI test 123
H3C智能管理中心 admin admin
H3C ER3100 admin adminer3100
H3C ER3200 admin adminer3200
H3C ER3260 admin adminer3260
H3C admin adminer
admin admin
admin h3capadmin
h3c h3c
360天擎 admin admin
网神防火墙 firewall firewall
天融信防火墙NGFW4000 superman talent
黑盾防火墙 admin admin
rule abc123
audit abc123
华为防火墙 telnetuser telnetpwd
ftpuser ftppwd
方正防火墙 admin admin
飞塔防火墙 admin 密码为空
Juniper_SSG__5防火墙 netscreen netscreen
中新金盾硬件防火墙 admin 123
kill防火墙(冠群金辰) admin sys123
天清汉马USG防火墙 admin venus.fw
Audit venus.audit
useradmin venus.user
阿姆瑞特防火墙 admin manager
山石网科 hillstone hillstone
绿盟安全审计系统 weboper weboper
webaudit webaudit
conadmin conadmin
admin admin
shell shell
绿盟产品 nsfocus123
TopAudit日志审计系统 superman talent
LogBase日志管理综合审计系统 admin safetybase
网神SecFox运维安全管理与审计系统 admin !1fw@2soc#3vpn
天融信数据库审计系统 superman telent
Hillstone安全审计平台 hillstone hillstone
网康日志中心 ns25000 ns25000
网络安全审计系统(中科新业) admin 123456
天玥网络安全审计系统 Admin cyberaudit
明御WEB应用防火墙 admin admin
admin adminadmin
明御攻防实验室平台 root 123456
明御安全网关 admin adminadmin
明御运维审计与册风险控制系统 admin 1q2w3e
system 1q2w3e4r
auditor 1q2w3e4r
operator 1q2w3e4r
明御网站卫士 sysmanager sysmanager888
亿邮邮件网关 eyouuser eyou_admin
eyougw admin@(eyou)
admin +-ccccc
admin cyouadmin
Websense邮件安全网关 administrator admin
梭子鱼邮件存储网关 admin admin
四、 [极客大挑战 2019]Havefun 1
1.查看源代码 翻译源代码可得用cat 传参,如果cat=dog则会回显'Syc{cat_cat_cat_cat}'
2.传参之后得到flag
五、[极客大挑战 2019]Http 1
1.查看源代码,发现有php文件
2.访问这个文件,页面显示它不是来自这个网站,于是想到web中遇到的修改请求头referer,于是使用抓包
3.使用bp抓包查看,添加referer,发现提示说使用 "Syclover" browser
4.通过报错可得,需要添加XFF请求头,在本地访问
5.得到flag
六、[GXYCTF2019]Ping Ping Ping 1
1.页面显示/?ip= 应该是一个传参的提示,结合题目的ping,尝试?ip=127.0.0.1
2.发现是linux命令,于是输入; ls 显示文件
3.发现flag文件,用cat查看文件
4.发现报错了,猜测是过滤了一些内容
补充:
发现存在过滤 空格
想办法绕过一下
1.${IFS}
2.$IFS$1
3.${IFS
4.%20
5.<和<>重定向符替换
6.%09替换
注:Linux下有一个特殊的环境变量叫做IFS,叫做内部字段分隔符(internal field separator)。IFS环境变量定义了bash shell用户字段分隔符的一系列字符。默认情况下,bash shell会将下面的字符当做字段分隔符:空格、制表符、换行符。
注2:cat大部分情况下会被过滤,可以尝试tac和其他过滤方法
5.发现flag也被过滤了,于是查看另一个文件,有很多东西都被过滤了
6.绕过所有过滤的内容,查看源代码得到flag
方法一
构造/?ip=127.0.0.1;b=ag;a=fl;cat$IFS$1$a$b.php 即可获取flag
注:此处将变量ab的位置互换是为了绕过字符串匹配
方法二
构造/?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
注:sh是linux中运行shell的命令,bash相当于sh的升级版,sh∈bash
方法三
构造 /?ip=127.0.0.1;cat$IFS$9`ls`
注:内联,就是将反引号内命令的输出作为输入执行
注:``在linux中使用反引号包围意为将内容当做命令执行