版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PHP全解1-针对PHP 主要存在下面几 方式针对PHP 主要存在下面几 方式1、命令注入(CommandInjection)2、eval注入(EvalInjection)3、客户端(Script5、SQL注入(SQLinjection)6、跨请求(CrossSiteRequestForgeries,CSRF)7、Session会话劫持(SessionHijacking)8、Session固定(Session9、HTTP响应拆分(HTTPResponseSplitting)10、文件上传(FileUploadAttack) 穿越(DirectoryTraversal)12、文件包含(RemoteInclusion)13、动态函数注入(DynamicVariableEvaluation)14、URL(URLattack)15、表单提交(SpoofedFormSubmissions)16、HTTP请求(SpoofedHTTPRequests)几个重要的php.iniRegisterPHP全解(二)-命令注 _exec、“(与s stringsystem(stringcommand,intcommand要执行return_varstringexec(stringcommand,array&output,intcommand要执行outputreturn_varvoidpassthru(stringcommand,intcommand要执行return_varstrings_exec(stringcommand要执行if(isset($dir)){echo"<pre>";echo"</pre>";} /ex1.php?dir=|catsystem("lsal|catevalmixedeval(stringcode_str)//eval注入一般发生在者能控制输入的字符串的时$var=if{$arg=$_GET["arg"];eval("\$var=$arg;");echo"\$var=".$var;} {}func{}if{$myfunc=$_GET["func"];echo$myfunc();}程序员原意是想动态调用A和B函数,那我们提交htt /ex.php?func=phpinfo漏3、使用escapes arg函数来处理命令参数 arg函数会将任何引起参数或命令结束的字符转义,单引号“’”,替换成“\’”,双引号“"”,替safe_mode=safe_mode_exec_dir=客户端植入(ScriptInsertion),是指将可以执行的插入到表单、、动画或超文字等对象内。当用户打开这些对象后,者所植入的就会被执行,进而开始。代码,也可以在src属性内指定js文件的URL路径1、者普通用户后登陆3、其他用户登录(包括管理员),浏览此留言的内CREATETABLE`postmessage``id`int(11)NOTNULL`subject`varchar(60)NOTNULLdefault`name`varchar(40)NOTNULLdefault `varchar(25)NOTNULLdefault`question`mediumtextNOT`postdate`datetimeNOTNULLdefault’0000-00-00PRIMARYKEYENGINE=MyISAMDEFAULTCHARSET=gb2312COMMENT=’使用者的留言//add.php//list.php//show.php<script>while(1){windows.open();}</script> ";</script>跳转页面或者使用其他自行构造的js代码进行stringhtmlspecialchars(stringstring,intquote_stylestringcharset)string是要编码的字符串quote_stylePATENT_QUOTESENT_NOQUOTES,默认值PAT,表示只转换双引号不转换单引号。ENT_QUOTES,表示双引号和单引号都要转换。ENT_NOQUOTES,charset可选,&—->&"—->‘—-><—->>—-><?phpechohtmlspecialchars(nl2br($row['question']),ENT_QUOTES);跨缩写为XSS 么他就可以成此用户来登录,获得此用户的权限。1、者以某种方式发送xss的http给目标用2、目标用户登录此,在登陆期间打开了者发送的xss3、执行了此xss4、目标用户页面跳转到者的,者取得了目标用户的信5、者使用目标用户的信息登录,完成似htt =’+ ;</script>,诱骗用户点击后,可以获取用户s防范方法stringhtmlspecialchars(stringstring,intquote_style,stringstringquote_style可选,值可为 charset可选,表示使用的字符集"—->"‘—-><—->>—-><formaction="<?phpecho$_SERVER["PHP_SELF"];?>" get.php中上述的表单. ..<form.
);</script>"<formaction=""SQL果web程序没有对提交的数据经过检查,那么就会造成sql注入。CREATETABLE`postmessage``id`int(11)NOTNULL`subject`varchar(60)NOTNULLdefault`name`varchar(40)NOTNULLdefault `varchar(25)NOTNULLdefault`question`mediumtextNOT`postdate`datetimeNOTNULLdefault’0000-00-00PRIMARYKEYENGINE=MyISAMDEFAULTCHARSET=gb2312COMMENT=’运用者的留言grantallprivilegesonch3.*to‘sectop’@localhostidentifiedby//add.php//list.php//show.php .cn/show.php?id=71and//show.php12-15mysql$query="select*frompostmessagewhereid=$result=ordie("ySQL查询语句失败:and1=1select*frompostmessagewhereid71and1=1这语句前值后值都为真,and以后也为真,返回查询到的数据and1=2select*frompostmessagewhereid71and1=2这语句前值为真,后值为假,and以后为假,查询不到任何数据outfile等函数进一步渗透。整型参数intintval(mixedvar,intbasefloatvaldoubleval函数分别转换单精度和双精度浮点型参数intfloatval(mixedintdoubleval(mixedstringaddslashes(stringmysql$query="select*frompostmessagewhereid=$result=ordie("ySQL查询语句失败:{$var=}{$var=}PHP全解(六)-跨请CSRF(CrossSiteRequestForgeries),意为跨请求,也有写为XSRF。者目标用户击者利用隐蔽的HTTP连接,让目标用户在不注意的情况下单击这个,由于是用户自己点击的,而他如:某个购物商品时,采用/buy.php?item=watch&num=1,item参数确定要什么物品,num参数确定要数量,如果者以隐藏的方式发送给目标用户<imgsrc="h 以后,的数量就成了1000个//delbook.php if{$ID_Dele=$sql="deletefrombookwhereidin(".$ID_Dele.")";}{$sql="deletefrombookwhereid=".$id;ID}echo"<scriptlanguage=’javascript’>";echo"alert(‘删除成功!’);";echo"echo<imgsrc="delbook.php?id=2"<imgsrc="delbook.php?id=3"<imgsrc="delbook.php?id=4"<imgsrc="delbook.php?id=5"插入4张分别删除4个id留言,然后我们返回首页浏览看,没有什么变化。。显示不了者在留言中插入隐藏的,此具有删除留言的作用,而者自己这些的时候,是不具有权限的,所以看不到任何效果,但是当管理员登陆后,查看此留言,就会执行隐藏的,{$copyright=$_POST["copyright"]."<br/>设计制作:<ahref {$sql="updategly."’where}{$sql="updategly."’,copyright=’".$copyright."’where}echo"<scriptlanguage=’javascript’>";echo"alert(‘修改成功!’);";echo"echo}这个文件用于修改管理和设置的一些信息,我们可以直接构造如下表单<inputtype="radio"value="1"<inputtype="radio"name="sh"checked<inputtype="text"name="username"<inputtype="password"name="password"<inputtype="text"name="title"value="PHPV1.0(带审核功能<textareaname="gg"rows="6"cols="80">安装使用随缘网络PHP留言板V1.0(带审核<textareaname="copyright"rows="6"cols="80">随缘网络PHP留言本V1.0 随缘网络科技2005-2009<br/>承接建设及系统定制提供主机</textarea>存为attack.html,放到自己上htt /attack.html,此页面后会自目藏这个,管理以后,他的用户名和全部修改成了root{{$serverhost= = = if(strncmp($sourcehost,$serverhost,{echo"<scriptlanguage=’javascript’>";echo"alert(‘数据来源异常!’);";& echo"echo}}$copyright=$_POST["copyright"]."<br/>设计制作:<ahref {$sql="updategly."’where}{$sql="updategly."’,copyright=’".$copyright."’where}echo"<scriptlanguage=’javascript’>";echo"alert(‘修改成功!’);";echo"echo}{if{//$post_id=md5(uniqid(rand(),//Session$_SESSION["post_id"]=}//if{//if($_SESSION["post_id"]!={//POSTecho"<scriptlanguage=’javascript’>";echo"alert(‘数据来源异常!’);";echo"echo}}<inputtype="reset"name="Submit2"value重置<inputtype="hidden"name="post_id"value="<?phpecho}的值。服务器使用http表头内的sessionid来识别时哪个用户提交的请求。session保存的是每个用户的个人数据,一般的web应用程序会使用session来保存通过验证的用户账号和。在转换不同的网页时,如果需要验证用户,就是用session内所保存的账号和来比较。session的生命周期从用户连上服务器后开始,在用户关掉浏览器或是注销时用户session_destroysession20分钟内没有使用计算机的动作,session也会自动结束。会话劫持是指者利用各种来获取目标用户的sessionid。一旦获取到sessionid,那么者可以利用目标用户的来登录,获取目标用户的操作权限。sessionid的方法窃取:使用网络截获,xss等方法获if{$link=mysql_connect("localhost","root",ordie("MySQL数据库连接:mysql_error());mysql_select_db("cmsordie("MySQL数据库if{$query="select*frommemberwhereusername=’".addslashes($_POST["username"])."’andpassword=’".addslashes($_POST["password"]).}{$query="select*frommemberwhereusername=’".$_POST["username"]"’andpassword=’".$_POST["password"].}$result=ordie("MySQL查询语句失败:$match_count=mysql_num_rows($result);if($match_count){$_SESSION["username"]=$_SESSION["password"]=$_SESSION["book"]=1;header("Location:"}//Session访客的SessionID是:<?phpechosession_id访客:<?phpechohtmlspecialchars($_GET["userENT_QUOTESbook商品的数量:<?phpechohtmlspecialchars($_SESSION["bookENT_QUOTES$_SESSION["username"]$_SESSION["password"]#_SESSION["book"]保存商品数//SessionechoSessionID是:session_idbrechousername是:$_SESSION["usernamebrechopassword是:$_SESSION["passwordbr//book$_SESSION["book"]=提交此ID为获取sessionid,sessionsessionid发给用户的方式,来完成然后者 session函数boolsession_regenerate_id([boolindex.php2)更改session的名称session的默认名称是PHPSE 中,如果不抓包分析,就不能猜到这个session来传递;打开php.ini,编辑session.use_trans_sid= session.use_s=1表示使 s存放sessionsession.use_only_s=1表示只使用 int_set("session.use_s",1);int_set("session.use_only_s",1);p>5)使用URL传递隐藏参数$seid=md5(uniqid(rand()),$_SESSION["seid"]=否是web程序自己调用的。HTTP请求信息:例如“Getindex.phpHTTP/1.1”index.php:面例子发送HTTP请求给服务器GET/index.phpHTTP/1.1↙ ↙HTTPHTTPHTTP/1.1200 GET/index.phpHTTP/1.1↙ voidheader(stringstring[,boolrece[,inthttp_response_code]])string是HTTP表头的字符串要使用多个相似的表头,默认值为TRUE//Internetsocket$fp= HTTPfputs($fp,"GET/HTTP/1.1\r\n");fputs($fp,"Host: $http_response=while{//256位的HTTP响应字符$http_response.=fgets($fp,}//InternetsocketHTTPechoHTTPHTTP响应拆分是由于者经过精心设计利用电子邮件或者,让目标用户利用一个请求产生两个响应,前一个响应是服务器的响应,而后一个则是者设计的响应。此之所以会发生,是因为WEB程序将使用者的数据置于HTTP响应表头中,这些使用者的数据是有者精心设计的。 HTTP响应拆分通常发生在: header("Location:".GET/location.php?page=h Host:localhost↙HTTP/1.1302Date:Wed,13Jan201003:44:24Server:Apache/2.2.8(Win32)PHP/5.2.6X-Powered-By:PHP/5.2.6Location:hConnection:Keep-AliveContent-Type:.HTTP/1.1200OKContent-Length:158<html><body><formmethod=postname=form1><inputtype=text/>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年搬家服务协议
- 缠绕膜机安全操作全流程注意事项
- 消化道出血患者的护理查房
- 门诊就诊等候时间优化PDCA实践
- 2025年邵阳市洞口县高中及城区初中小学教师选调考试真题
- 2025年西安市长安医院招聘考试真题
- 2025年酒泉玉门市公安局招聘警务辅助人员考试真题
- 2025年保定市顺平县事业单位选调考试真题
- 2026年安康市消防救援局政府专职消防员招聘(26人)笔试参考题库及答案解析
- 2026年滨州市卫生行政系统事业单位人员招聘考试备考试题及答案详解
- 2026年江苏南京市高三二模高考物理试卷试题(含答案详解)
- 2026四川成都市公共交通集团有限公司招聘投资管理专员岗位备考题库附答案详解(b卷)
- 2025年电工(中级)实操技能考核试题(附答案)
- 2025年广东省深圳市初二学业水平地理生物会考真题试卷(+答案)
- 2026年公立医院信息科工作人员招聘考试笔试试题(含答案)
- 园林绿养护安全培训内容
- 2026年深圳市创新投资集团有限公司校园招聘考试参考试题及答案解析
- 金属标牌行业现状分析报告
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
- 护理专业读书报告会课件
- 结构设计-卡扣设计说明课件
评论
0/150
提交评论