仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1811|回复: 20
打印 上一主题 下一主题

[学习教程] PHP编程:PHP代码履行破绽参考材料总结

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:33:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。      一 代码履行函数
    PHP中可以履行代码的函数。如eval()、assert()、``、system()、exec()、shell_exec()、passthru()、 escapeshellcmd()、pcntl_exec() 等
    demo code 1.1:
    二 文件包括代码打针
    文件包括函数在特定前提下的代码打针,如include()、include_once()、 require()、require_once()。
    当allow_url_include=On ,PHP Version>=5.2.0 时,招致代码打针。
    demo code 2.1:
    会见http://127.0.0.1/include.php?a=data:text/plain,%3C?php%20phpinfo%28%29;?%3E 即
    履行phpinfo()。
    三 正则婚配代码打针
    尽人皆知的preg_replace()函数招致的代码打针。当pattern中存在/e形式润色符,即答应履行代码。这里咱们分三种情形会商下
    3.1 preg_replace() pattern 参数打针
    pattern即第一个参数的代码打针。
    当magic_quotes_gpc=Off时,招致代码履行。
    demo code 3.1:
    会见http://127.0.0.1/preg_replace1.php?reg=%3C\/php%3E/e 即
    履行phpinfo()。
    3.2 preg_replace() replacement参数打针
    replacement即第二个参数的代码打针,招致代码履行。
    demo code 3.2:
    当咱们提交 http://127.0.0.1/preg_replace2.php?h=phpinfo() 即
    履行phpinfo()。
    3.3 preg_replace()第三个参数打针
    咱们经由过程机关subject参数履行代码。提交:http://127.0.0.1/preg_replace3.php?h=
    phpinfo()
    或 http://127.0.0.1/preg_replace3.php?h=
    ${phpinfo%28%29}
    招致代码履行
    demo code 3.3:
    四 静态代码履行
    4.1 静态变量代码履行
    demo code 4.1:
    咱们提交 http://127.0.0.1/dyn_func.php?dyn_func=system&argument=ipconfig 履行ipconfig号令
    4.2 静态函数代码履行
    demo code 4.2:
    咱们提交 http://127.0.0.1/create_function.php?foobar=system%28dir%29 履行dir号令
    五 其他
    5.1 ob_start()函数的代码履行
    demo code 5.1:
    5.2 array_map()函数的代码履行
    demo code 5.2:
    咱们提交 http://127.0.0.1/array_map.php?callback=phpinfo 即履行phpinfo()。
    5.3 unserialize()与eval()
    unserialize()是PHP中利用率十分高的函数。不合法利用unserialize()轻易招致平安隐患。
    咱们提交 http://127.0.0.1/unserialize.php?saved_code=O:7:%22Example%22:1:{s:3:%22var%22;s:10:%22phpinfo%28%29;%22;} 即履行phpinfo()。
    5.4 轻易招致平安成绩的函数
    同类型函数还有良多
    array_map()
    usort(), uasort(), uksort()
    array_filter()
    array_reduce()
    array_diff_uassoc(), array_diff_ukey()
    array_udiff(), array_udiff_assoc(), array_udiff_uassoc()
    array_intersect_assoc(), array_intersect_uassoc()
    array_uintersect(), array_uintersect_assoc(), array_uintersect_uassoc()
    array_walk(), array_walk_recursive()
    xml_set_character_data_handler()
    xml_set_default_handler()
    xml_set_element_handler()
    xml_set_end_namespace_decl_handler()
    xml_set_external_entity_ref_handler()
    xml_set_notation_decl_handler()
    xml_set_processing_instruction_handler()
    xml_set_start_namespace_decl_handler()
    xml_set_unparsed_entity_decl_handler()
    stream_filter_register()
    set_error_handler()
    register_shutdown_function()
    register_tick_function()
即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。
蒙在股里 该用户已被删除
沙发
发表于 2015-2-4 02:07:29 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
若天明 该用户已被删除
板凳
发表于 2015-2-4 20:46:28 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
冷月葬花魂 该用户已被删除
地板
发表于 2015-2-10 08:26:51 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
简单生活 该用户已被删除
5#
发表于 2015-3-1 04:45:34 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
admin 该用户已被删除
6#
发表于 2015-3-8 18:23:06 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
飘飘悠悠 该用户已被删除
7#
 楼主| 发表于 2015-3-16 09:52:01 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
活着的死人 该用户已被删除
8#
发表于 2015-3-17 03:10:32 | 只看该作者
爱上php,他也会爱上你。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-17 04:21:24 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
柔情似水 该用户已被删除
10#
发表于 2015-3-23 19:05:37 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
小女巫 该用户已被删除
11#
发表于 2015-3-29 06:45:27 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
老尸 该用户已被删除
12#
发表于 2015-4-14 08:16:32 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
因胸联盟 该用户已被删除
13#
发表于 2015-4-28 21:26:12 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
飘灵儿 该用户已被删除
14#
发表于 2015-5-1 06:15:18 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
谁可相欹 该用户已被删除
15#
发表于 2015-5-4 20:40:02 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
第二个灵魂 该用户已被删除
16#
发表于 2015-6-4 02:30:21 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
海妖 该用户已被删除
17#
发表于 2015-6-4 17:41:03 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
兰色精灵 该用户已被删除
18#
发表于 2015-6-6 02:51:35 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
小妖女 该用户已被删除
19#
发表于 2015-6-7 15:21:05 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
只想知道 该用户已被删除
20#
发表于 2015-6-18 21:31:37 | 只看该作者
实践是检验自己会不会的真理。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 21:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表