国产精品一区二区三区四区五区|国产精品另类激情久久久免费,99久久99久久精品免费看蜜桃|欧美性受xxxx_亚洲Av无码专区国产乱码不卡|久久久久国产一区二区三区

返回頂部
關(guān)閉軟件導(dǎo)航
位置:首頁(yè) > 資訊 > wordpress>0x02 SQL注入漏洞

  revision trick

  漏洞發(fā)現(xiàn)者的文章最開始提到了一個(gè)revision的trick最新,用于承接越權(quán)寫文章之后如何繼續(xù)進(jìn)行深入攻擊技術創新。但是由于這個(gè)老外隱藏了部分技巧,導(dǎo)致按照他文章所說(shuō)的內(nèi)容無(wú)法復(fù)現(xiàn)訂閱者賬號(hào)觸發(fā)SQL注入漏洞WordPress批量添加欄目 重要作用,所以phithon在文章中沒(méi)有提到這個(gè)trick增多。我在這里本著還原作者思路的目的,向大家介紹一下關(guān)于這個(gè)trick的原理有望。

  下面是原文關(guān)于這個(gè)trick部分的翻譯:

  revisions字段用于記錄草稿或者更新的發(fā)布進一步推進,Wordpress中用revisions記錄對(duì)于完成的提交和存儲(chǔ)都會(huì)在posts數(shù)據(jù)庫(kù)表中將post_type設(shè)置成revision,每個(gè)revision都會(huì)有一個(gè)’post_parent’字段方案,指明這個(gè)revision所基于的原版提交應用的選擇。

  當(dāng)嘗試編輯一個(gè)revision時(shí),會(huì)通過(guò)post_parent來(lái)進(jìn)行校驗(yàn)左右,而不是revision本身背景下。這樣,如果我們基于一個(gè)post創(chuàng)建一個(gè)revision長期間,那么我們可以任意設(shè)置它的狀態(tài)為“trash”之外的任何狀態(tài)基本情況,即使原始的post的狀態(tài)是“trash”

  使用這個(gè)trick,我們能夠編輯這個(gè)“puppet revision”(傀儡文章?)和自由的向他添加評(píng)論高端化,即使他的原版post已經(jīng)被丟棄到了垃圾箱當(dāng)中力量。

  結(jié)合我們上文的越權(quán)寫漏洞,可以看出作者提出使用這個(gè)trick的目的是為了提單產,利用我們之前寫進(jìn)垃圾箱中文章(post)的修訂版(revision)來(lái)進(jìn)行編輯和評(píng)論進(jìn)行操縱深入實施。因?yàn)轭愋蜑閜ost的文章,即使是當(dāng)前訂閱用戶提交的WordPress批量刪除關(guān)鍵詞 發展空間,也是沒(méi)有權(quán)限編輯的WordPress批量上傳內(nèi)容 效果,而revision卻是可以編輯的。所以按照原文中所說(shuō)足了準備,我們可以使用這個(gè)trick繼續(xù)后面的操作合作關系。

  漏洞原因

  這個(gè)漏洞其實(shí)是一個(gè)二次注入的漏洞,它的本質(zhì)原因是在從垃圾箱還原文章時(shí)深刻內涵,也要還原文章下面的評(píng)論傳遞,而在還原評(píng)論的代碼中存在直接拼接用戶可控內(nèi)容,從而導(dǎo)致SQL注入漏洞。下面為問(wèn)題代碼:

  function wp_untrash_post_comments( $post = null ) {

  global $wpdb;

  $post = get_post($post);

  if ( empty($post) )

  return;

  $post_id = $post->ID;

  $statuses = get_post_meta($post_id, '_wp_trash_meta_comments_status', true);

  if ( empty($statuses) )

  return true;

  do_action( 'untrash_post_comments'WordPress批量添加產(chǎn)品 , $post_id );

  // Restore each comment to its original status.

WordPress批量助手

  $group_by_status = array();

  foreach ( $statuses as $comment_id => $comment_status )

  $group_by_status[$comment_status][] = $comment_id;

  foreach ( $group_by_status as $status => $comments ) {

  // Sanity check. This shouldn't happen.

  if ( 'post-trashed' == $status )

  $status = '0';

  $comments_in = implode( "', '", $comments );

  $wpdb->query( "UPDATE $wpdb->comments SET comment_approved = '$status' WHERE comment_ID IN ('" . $comments_in . "')" );

  }

  clean_comment_cache( array_keys($statuses) );

  delete_post_meta($post_id, '_wp_trash_meta_comments_status');

  do_action( 'untrashed_post_comments', $post_id );

  }

  從代碼中我們可以看到$status和$comments變量的內(nèi)容會(huì)拼接到SQL中更加廣闊,而這兩個(gè)變量的內(nèi)容是用戶可以操控的。因?yàn)橛脩魝魅氲臄?shù)據(jù)會(huì)先被過(guò)濾處理后存儲(chǔ)到數(shù)據(jù)庫(kù)中提高,然后直接從數(shù)據(jù)庫(kù)提取數(shù)據(jù)進(jìn)行拼接可以使用,所以如果我們的攻擊語(yǔ)句會(huì)在數(shù)據(jù)庫(kù)提取時(shí)恢復(fù)本來(lái)面貌——標(biāo)準(zhǔn)的二次注入。

如果您覺(jué)得 0x02 SQL注入漏洞 這篇文章對(duì)您有用紮實,請(qǐng)分享給您的好友效高化,謝謝
文章地址:http://61py.com/article/wordpress/xSQLzrld.html
解放雙手無(wú)盡可能,有問(wèn)題添加天線貓微信
红安县| 怀柔区| 鹤壁市| 如东县| 白朗县| 三原县| 三穗县| 上栗县| 中山市| 凉城县| 阿克陶县| 怀柔区| 大同县| 三都| 临江市| 富宁县| 泽库县| 东方市| 连南| 紫阳县| 新丰县| 乐山市| 阿瓦提县| 克拉玛依市| 靖江市| 即墨市| 上高县| 永丰县| 宁阳县| 顺平县| 正镶白旗| 绵竹市| 巴林右旗| 股票| 隆林| 呼和浩特市| 荣昌县| 庄浪县| 攀枝花市| 利辛县| 贞丰县|