网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
2、exec函数
system函数是关键函数,不论是CTF还是挖洞最初都要对弱点函数做追踪,第一个就是system,第二个就是exec。
不会因为返回值受限一定要把它把传递给某个变量才可以。
3、 passthru函数
String shell _exec(string command) command是要执行的命令
4、运算符
与shell_exec功能相同,执行shell命令并返回输出的字符串
加引号后会直接执行系统命令,比如说echo,执行ls那么它是输出的是ls,如果要执行的是反引号中的ls,相当于打印出ls命令执行之后的一个结构。
在实际过程中,想去嵌入还是比较困难的,变量可控,存在反引号之间的,反引号传递不了,我们可以控制变量靠后的值,不管是get还是post单引号还是双引号,传递上去的值肯定是在引号之间的。
命令执行的绕过
- 换行符
换行符,比如说%0a就相当于换了一行,%0d也就是回车符。连续指令,理解上可能就相当于SQL语句,比如说第一句select 123那么理论上来说,如果你真的是写完整语法的,肯定是用分号去结尾,然后另起一行下一句,包括PHP它也是以分号来做换一行一行结束的。那么在shell中也是用这样去使用的。我用把0d换成一个分
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**