Sunday, February 5, 2012

Mini-PoC for PHP 5.3.9 RCE (CVE-2012-0830)

As topic said mini, it is mainly my idea (+some code) to exploit this bug. I still cannot do real code execution now. Looking at diff patch, it is obvious there is a bug when input is array and the number of input equals max_input_vars. Here is full vulnerable function. I will show only related code.

/* ... */
if (is_array) {
    while (1) {
        /* ... */
        if (zend_symtable_find(symtable1, escaped_index, index_len + 1, (void **) &gpc_element_p) == FAILURE // [1]
            || Z_TYPE_PP(gpc_element_p) != IS_ARRAY) { // [2]
            if (zend_hash_num_elements(symtable1) <= PG(max_input_vars)) { // [3]
                if (zend_hash_num_elements(symtable1) == PG(max_input_vars)) {
                    php_error_docref(NULL TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. ...", PG(max_input_vars));
                }
                MAKE_STD_ZVAL(gpc_element);
                array_init(gpc_element);
            }
            zend_symtable_update(symtable1, escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p);
        }
        /* ... */
        symtable1 = Z_ARRVAL_PP(gpc_element_p); // [4]
        /* ... */
        goto plain;
    }
} else {
plain_var:
    MAKE_STD_ZVAL(gpc_element);
    gpc_element->value = val->value;
    Z_TYPE_P(gpc_element) = Z_TYPE_P(val);
    /* ... */
    if (zend_hash_num_elements(symtable1) <= PG(max_input_vars)) { // [5]
        if (zend_hash_num_elements(symtable1) == PG(max_input_vars)) {
            php_error_docref(NULL TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. ...", PG(max_input_vars));
        }
        zend_symtable_update(symtable1, escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p); // [6]
    } else {
        zval_ptr_dtor(&gpc_element);
    }
    /* ... */
}

At [3], if a number of elements in array equals max_input_vars, program still continues looping. When program reachs [4], the 'gpc_element_p' is treated as array (no type check). But it might not be array if the program did not go inside [3]. That is a problem.

When looking closely at [1] and [2], the code at [1] might find the element but it is not array. The element must be string because all input are treated as string or array. Also the element is our input that parsed before the max_input_vars condition met. Then At [4], our string is treated as array. So we can create fake HashTable. If our input name does not have more array nest, the PHP will go to [5]. Then inserting/updating input into fake array at [6].

To control EIP/RIP, there is 'pDestructor' in HashTable struct. If we can make PHP removing a element inside this HashTable, the program will jump to 'pDestructor' address. Easy??. All we need is 'arBuckets' must point to valid address that has NULL value (check _zend_hash_index_update_or_next_insert() in zend_hash.c).

Because PHP filter extension is enabled by default (compile option), the php_register_variable_ex() is called twice for each input but different array. So first time for filter array, the input is inserted into fake array. Then the array is updated and 'pDestructor' will be called. Below is input for controlling EIP/RIP.

1=&2=&3=&...&999=&0=<fake HashTable with valid arBuckets address>&0[0]=

Because of ASLR+NX(+PIE), just controlling EIP is useless. I need some info leak. Here is my result for 32 bit only (php_rce_poc.py) (I debugged the PHP with PHP-FPM).

First, there is some PHP page on server that has code like this.

<?php
echo $_POST['a']."\n";
for ($i = 0; $i < 8192; $i++)
    echo " "; // to make PHP flush the buffer output

When input is inserted into array, a HashTable will be updated. We can use this fact to leak a heap address. But the trigger input will be inserted for filter array first, so the input will be updated for $_POST array. This is bad because updating is modified only 'pDataPtr' in 'Bucket' struct.

What I did is creating fake HashTable, arBuckets, Bucket in an input instead of HashTable only. If I guess the address correctly, the 'pDataPtr' in fake Bucket will be updated. To increase the chance, I create multiple fake arBuckets and Buckets (see create_big_fake_array_search() in my code). When allocating big memory block, it is always allocated outside main heap (And address always ending with 0x018 on my box). After this brute forcing, I got the start address of fake data and a heap address of latest element.

Just a heap address is not enough for code execution. I need more. When looking updating data in array code (below), I found something interesting. If 'pData' does not point 'pDataPtr', 'pData' will be freed first.

#define UPDATE_DATA(ht, p, pData, nDataSize)           \
    if (nDataSize == sizeof(void*)) {                  \
        if ((p)->pData != &(p)->pDataPtr) {            \
            pefree_rel((p)->pData, (ht)->persistent);  \
        }                                              \
        memcpy(&(p)->pDataPtr, pData, sizeof(void *)); \
        (p)->pData = &(p)->pDataPtr;                   \
    }

If I set 'pData' in fake Bucket to the address of $_POST['a'] (zval struct). It will be freed. Then, I trick PHP to allocate craft string on that memory area. Finally, I can alter zval struct of $_POST['a'] to point to any address and the PHP code will echo the data in that memory area to me. But after altering the zval struct, the PHP will crash when clearing all variables. That's why I add the PHP code for flushing the output.

I can trick PHP to allocate on just freed memory area because in php_sapi_filter(), the estrndup() is called (at line 479) almost immediately after called php_register_variable_ex() (at line 461). With the Zend Memory Management Cache that I described a little in this post, all I need to do is using the trigger input value to be fake zval struct.

I still cannot find the way to know the exact address of $_POST['a']. I do brute forcing again. I know the heap address. It must be near. I test the result from dumping my fake HashTable. My method for brute forcing $_POST['a'] address is not reliable. Especially when PHP-FPM has many children.

Here is my output (code again php_rce_poc.py)

$ python php_rce_poc.py
Trying addr: b6c00018
Trying addr: b6c40018
Trying addr: b6c80018
Trying addr: b6cc0018
Trying addr: b6d00018
Trying addr: b6d40018
Trying addr: b6d80018
Trying addr: b6dc0018

Fake addr: b6dc0018
Heap addr: 08fe3180

Bruteforcing param_addr...
param addr: 08fe30a0
dumping memory at 0x08048000
⌂ELF☺☺☺         ☻ ♥ ☺   04

After able to dump any memory address + controlling EIP/RIP, it is highly possible to do code execution. That's it for me.

Update (5 Feb 2012): a little change on my code (php_rce_poc2.py).

  • Increase the search fake chunk range to make it work on apache2/mod_php5
  • Dump data at least 8192 bytes. So no need the PHP code for flushing output buffer.

629 comments:

  1. Very nice writeup. I've been trying to exploit this myself and this gave me some really good pointers.

    ReplyDelete
  2. Soooo we basically end up with... this yea... :




    and ofc maybe could addin a little echo ""; to flush buffer.. but, the argv is, an arg ;)

    KrYptiK

    ReplyDelete
  3. I am on Ubuntu 11.10 and the string is stored on the heap. How exactly is code execution possible if one only controls EIP and the EDI register? You can't place code on the heap because of NX.

    ReplyDelete
  4. can you elaborate on "Because PHP filter extension is enabled by default (compile option), the php_register_variable_ex() is called twice for each input but different array"? where is called twice? I've just tested it and it's called just once....

    ReplyDelete
  5. yeah, thanks, for me php_sapi_filter was not hit because i have configured php with --disable-all (which disabled filter extension). Another question
    Where does address '0xb6c00018' come from in the python script?

    ReplyDelete
  6. Am i wrong or magic_quotes have to be set to 0 in order for estrndup to be called on line 479 as you say above? Which means it will not work on default installations.....

    Also what do you mean by:
    "When input is inserted into array, a HashTable will be updated. We can use this fact to leak a heap address. "

    How??

    ReplyDelete
  7. I have seen that all will say the same thing repeatedly. But in your blog, I had a chance to get some useful and unique information. I would like to suggest your blog in my dude circle. please keep on updates. Hope it might be much useful for us. keep on updating.
    PHP Training in Chennai

    ReplyDelete
  8. A universal message I suppose, not giving up is the formula for success I think. Some things take longer than others to accomplish, so people must understand that they should have their eyes on the goal, and that should keep them motivated to see it out til the end.
    python interview questions and answers
    python tutorials
    python course institute in electronic city

    ReplyDelete
  9. From your discussion I have understood that which will be better for me and which is easy to use. Really, I have liked your brilliant discussion. I will comThis is great helping material for every one visitor. You have done a great responsible person. i want to say thanks owner of this blog.
    angularjs-Training in pune

    angularjs Training in bangalore

    angularjs Training in bangalore

    angularjs Training in chennai

    automation anywhere online Training

    angularjs interview questions and answers

    ReplyDelete
  10. You have worked to perfection on this article. Thanks for taking the time to post search valuable information. I Recommendation this. JSON Formatter Online

    ReplyDelete
  11. English Nursery Rhymes for kids: Here you can find the lyrics of 30 of the ... 30 Popular Nursery Rhymes For Kids in English . Hindi Songs Lyrics

    ReplyDelete
  12. Welcome to AZLyrics! It's a place where all searches end! We have a large, legal, every day growing universe of lyrics where stars of all genres and ages shine.

    ReplyDelete
  13. Inspiring writings and I greatly admired what you have to say , I hope you continue to provide new ideas for us all and greetings success always for you.
    Keep update more information..


    Selenium training in bangalore
    Selenium training in Chennai
    Selenium training in Bangalore
    Selenium training in Pune
    Selenium Online training
    Selenium interview questions and answers

    ReplyDelete
  14. Inspiring writings and I greatly admired what you have to say , I hope you continue to provide new ideas for us all and greetings success always for you.
    Keep update more information..
    apple service center chennai
    apple service center in chennai
    apple mobile service centre in chennai
    apple service center near me

    ReplyDelete
  15. Nice post. Thanks for sharing! I want people to know just how good this information is in your article. It’s interesting content and Great work.
    Thanks & Regards,
    VRIT Professionals,
    No.1 Leading Web Designing Training Institute In Chennai.

    And also those who are looking for
    Web Designing Training Institute in Chennai
    SEO Training Institute in Chennai
    Photoshop Training Institute in Chennai
    PHP & Mysql Training Institute in Chennai
    Android Training Institute in Chennai

    ReplyDelete
  16. Great post! I am actually getting ready to across this information, It’s very helpful for this blog.Also great with all of the valuable information you have Keep up the good work you are doing well.
    R Training Institute in Chennai | R Programming Training in Chennai

    ReplyDelete
  17. Hey Nice Blog!! Thanks For Sharing!!!Wonderful blog & good post.Its really helpful for me, waiting for a more new post. Keep Blogging!
    SEO company in coimbatore
    SEO company
    web design company in coimbatore

    ReplyDelete
  18. The article is so informative. This is more helpful.
    software testing training courses
    selenium classes Thanks for sharing

    ReplyDelete
  19. Thank you for benefiting from time to focus on this kind of, I feel firmly about it and also really like comprehending far more with this particular subject matter. In case doable, when you get know-how, is it possible to thoughts modernizing your site together with far more details? It’s extremely useful to me.

    ReactJS Online Training

    ReplyDelete
  20. Wow, amazing blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your website is fantastic, let alone the content!

    3d animation Company
    Best Chatbot Development Company
    Mobile app development in Coimbatore

    ReplyDelete
  21. Nice Post! Thank you for sharing very good post, it was so Nice to read and useful to improve my knowledge as updated one, keep blogging.
    Angular js Training in Electronic City

    ReplyDelete
  22. This comment has been removed by the author.

    ReplyDelete
  23. Good article.
    For data science training in bangalore,visit:
    Data science training in bangalore

    ReplyDelete
  24. Nice Post It was so informative. Are you looking for the best automatic gates in India. Click here: Automatic gates India | aluminium folding gates

    ReplyDelete
  25. nice blog
    get best placement at VSIPL

    digital marketing services
    web development company
    seo network point

    ReplyDelete
  26. nice blog
    get best placement at VSIPL

    digital marketing services
    web development company
    seo network point

    ReplyDelete
  27. it's very interesting, Thanks for sharing a piece of valuable information to us & Knowledgeable also, keep on sharing like this.

    ReplyDelete
  28. Aluminium Composite Panel or ACP Sheet is used for building exteriors, interior applications, and signage. They are durable, easy to maintain & cost-effective with different colour variants.

    ReplyDelete
  29. Soma pill is very effective as a painkiller that helps us to get effective relief from pain. This cannot cure pain. Yet when it is taken with proper rest, it can offer you effective relief from pain.
    This painkiller can offer you relief from any kind of pain. But Soma 350 mg is best in treating acute pain. Acute pain is a type of short-term pain which is sharp in nature. Buy Soma 350 mg online to get relief from your acute pain.

    https://globalonlinepills.com/product/soma-350-mg/


    Buy Soma 350 mg
    Soma Pill
    Buy Soma 350 mg online



    Buy Soma 350 mg online
    Soma Pill
    Buy Soma 350 mg

    ReplyDelete
  30. For Data Science training in Bangalore, Visit:
    Data Science training in Bangalore

    ReplyDelete

  31. When you feel any kind of body pain, it is best if you go to the doctor for treating it. Sometimes body pain can be the symptom of some serious disease. Sometimes body pain attacks us suddenly because of which you may not able to get the help of the doctor. In those situations, to get quick and effective pain relief, you can take the help of painkillers though they cannot cure your pain. As your painkiller, choose Tramadol 50 mg which is very effective. This painkiller is available in the market with the name of Ultram. To use this painkiller, you can get it easily. Buy Tramadol online and get this painkiller at an affordable price.
    Buy Tramadol online

    ReplyDelete
  32. This is really an awesome post, thanks for it. Keep adding more information to this.mulesoft training in bangalore

    ReplyDelete
  33. Being new to the blogging world I feel like there is still so much to learn. Your tips helped to clarify a few things for me as well as giving.salesforce admin training in bangalore

    ReplyDelete
  34. Linking is very useful thing.you have really helped lots of people who visit blog and provide them use full information.servicenow training in bangalore

    ReplyDelete
  35. Thank you for excellent article.You made an article that is interesting.
    Best AWS certification training courses. Build your AWS cloud skills with expert instructor- led classes. Live projects, Hands-on training,24/7 support.
    https://onlineidealab.com/aws-certification/


    ReplyDelete
  36. Really very nice blog information for this one and more technical skills are improve,i like that kind of post.hadoop training institutes in bangalore

    ReplyDelete
  37. I think this is one of the most significant information for me. And i’m glad reading your article. Thanks for sharing!

    Bangalore Training Academy located in Bangalore, is one of the best Workday Training institute with 100% Placement support. Workday Training in Bangalore provided by Workday Certified Experts and real-time Working Professionals with handful years of experience in real time Workday Projects.

    ReplyDelete
  38. Really very happy to say, your post is very interesting to read. I never stop myself to say something about it. You’re doing a great job. Keep it up…

    Became An Expert In Selenium ! Learn from experienced Trainers and get the knowledge to crack a coding interview, @Softgen Infotech Located in BTM Layout.

    ReplyDelete
  39. Wonderful thanks for sharing an amazing idea. keep it...

    Softgen Infotech is the Best HADOOP Training located in BTM Layout, Bangalore providing quality training with Realtime Trainers and 100% Job Assistance.

    ReplyDelete
  40. We as a team of real-time industrial experience with a lot of knowledge in developing applications in python programming (7+ years) will ensure that we will deliver our best in python training in vijayawada. , and we believe that no one matches us in this context.

    ReplyDelete
  41. Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
    top servicenow online training

    ReplyDelete
  42. After reading your article I was amazed. I know that you explain it very well. And I hope that other readers will also experience how I feel after reading your article.
    data analytics courses

    data science interview questions

    business analytics courses

    data science course in mumbai

    ReplyDelete

  43. You write this post very carefully I think, which is easily understandable to me. Not only this, but another post is also good. As a newbie, this info is really helpful for me. Thanks to you.
    Tally ERP 9 Training
    tally classes
    Tally Training institute in Chennai
    Tally course in Chennai

    ReplyDelete
  44. Thanks for sharing this valuable information to our vision. You have posted a worthy blog keep sharing.
    Digital Marketing Course In Kolkata
    Web Design Course In Kolkata
    SEO Course In Kolkata

    ReplyDelete
  45. The blog is very useful and informative thanks for sharing ccie

    ReplyDelete
  46. It’s hard to come by experienced people about this subject, but you seem like you know what you’re talking about! Thanks.
    Java Training in Bangalore

    ReplyDelete
  47. wonderful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article resolved my all queries.
    Data science Interview Questions
    Data Science Course

    ReplyDelete
  48. Effective blog with a lot of information. I just Shared you the link below for Courses .They really provide good level of training and Placement,I just Had PHP Classes in this institute , Just Check This Link You can get it more information about the PHP course.


    Java training in chennai | Java training in annanagar | Java training in omr | Java training in porur | Java training in tambaram | Java training in velachery

    ReplyDelete

  49. I am very happy when read this blog post because blog post written in good manner and write on good topic. Thanks for sharing valuable information about Machine Learning training.

    Java training in chennai | Java training in annanagar | Java training in omr | Java training in porur | Java training in tambaram | Java training in velachery

    ReplyDelete
  50. Thanks for the informative article About Java. This is one of the best resources I have found in quite some time. Nicely written and great info. I really cannot thank you enough for sharing.
    Java training in chennai | Java training in annanagar | Java training in omr | Java training in porur | Java training in tambaram | Java training in velachery

    ReplyDelete
  51. wonderful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article resolved my all queries. keep it up.
    data analytics course in Bangalore

    ReplyDelete
  52. Enjoyed reading the article above, really explains everything in detail, the article is very interesting and effective. Thank you and good luck for the upcoming articles Python Programming Course

    ReplyDelete
  53. Hey guy's i have got something to share from my research work
    Coderefinery
    Tukui
    Lakedrops

    ReplyDelete
  54. Writing, like great art requires much more than knowledge and education. A great writer is born as opposed to ""made"" and you are a great writer. This is excellent content and interesting information. Thank you.

    SEO services in kolkata
    Best SEO services in kolkata
    SEO company in kolkata
    Best SEO company in kolkata
    Top SEO company in kolkata
    Top SEO services in kolkata
    SEO services in India
    SEO copmany in India

    ReplyDelete
  55. Such a very useful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article.

    Correlation vs Covariance

    ReplyDelete
  56. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple linear regression

    ReplyDelete
  57. Thanks for sharing an informative blog keep rocking bring more details.I like the helpful info you provide in your articles. I’ll bookmark your weblog and check again here regularly. thanksa lot guys.
    Ai & Artificial Intelligence Course in Chennai
    PHP Training in Chennai
    Ethical Hacking Course in Chennai Blue Prism Training in Chennai
    UiPath Training in Chennai

    ReplyDelete
  58. I thought I was strong with my ideas on this, but with your writing expertise you have managed to convert my beliefs your new ideas. Mallorca is fun
    SAP training in Kolkata
    SAP training Kolkata
    Best SAP training in Kolkata
    SAP course in Kolkata
    SAP training institute Kolkata

    ReplyDelete
  59. This is an awesome post. I am very happy to read this article. I appreciate this post. Thanks for sharing such a huge and detailed information.


    SEO services in kolkata
    Best SEO services in kolkata
    SEO company in kolkata

    ReplyDelete
  60. Very interesting blog. Many blogs I see these days do not really provide anything that attracts others, but believe me the way you interact is literally awesome.You can also check my articles as well.

    Data Science In Banglore With Placements
    Data Science Course In Bangalore
    Data Science Training In Bangalore
    Best Data Science Courses In Bangalore
    Data Science Institute In Bangalore

    Thank you..

    ReplyDelete
  61. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple linear regression

    ReplyDelete
  62. wonderful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article resolved my all queries.
    data science interview questions

    ReplyDelete
  63. Hi!!!
    Hey Wonder full Blog! Thanks for this valuable Information Sharing with us your review is very nice.
    Thanks once again for this Wonderful article. Waiting for a more new post
    Keep on posting!

    Digital Marketing Agency in Coimbatore
    SEO Company in Coimbatore
    web designing Company in coimbatore

    ReplyDelete
  64. Hey Nice Blog!!
    Thanks For Sharing!!! Nice blog & Wonderfull post. Its really helpful for me, waiting for a more new post. Keep on posting!


    student consultants
    study abroad consultants
    education consultants

    ReplyDelete
  65. it is still among the leading topics of our time Website design company.

    ReplyDelete
  66. I just got to this amazing site not long ago. I was actually captured with the piece of resources you have got here. Big thumbs up for making such wonderful blog page!

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  67. Hey Nice Blog!!
    Thanks For Sharing!!! Nice blog & Wonderfull post. Its really helpful for me, waiting for a more new post. Keep on posting!


    starting business
    business ideas
    small business ideas

    ReplyDelete
  68. Such a very useful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article.

    DevOps Online Training

    DevOps Classes Online

    DevOps Training Online

    Online DevOps Course

    DevOps Course Online

    ReplyDelete
  69. Very interesting blog Thank you for sharing such a nice and interesting blog and really very helpful article.
    Data Science Course in Hyderabad

    ReplyDelete
  70. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple linear regression
    data science interview questions

    ReplyDelete
  71. Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work!

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  72. Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work!


    AWS training in Chennai

    AWS Online Training in Chennai

    AWS training in Bangalore

    AWS training in Hyderabad

    AWS training in Coimbatore

    AWS training


    ReplyDelete
  73. This Was An Amazing ! I Haven't Seen This Type of Blog Ever ! Thankyou For Sharing, data sciecne course in hyderabad

    ReplyDelete
  74. Attend The Data Analyst Course From ExcelR. Practical Data Analyst Course Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Analyst Course.
    Data Analyst Course

    ReplyDelete
  75. Great writing! You have a flair for informational writing. Your content has impressed me beyond words. I have a lot of admiration for your writing. Thank you for all your valuable input on this topic.
    SAP training in Kolkata
    SAP training Kolkata
    Best SAP training in Kolkata
    SAP course in Kolkata

    ReplyDelete
  76. Thanks for sharing this information. I really Like Very Much.
    top angular js online training

    ReplyDelete
  77. This Was An Amazing ! I Haven't Seen This Type of Blog Ever ! Thankyou For Sharing, data science courses

    ReplyDelete
  78. Great post i must say and thanks for the information. Education is definitely a sticky subject. However, is still among the leading topics of our time. I appreciate your post and look forward to more.

    data science interview questions

    ReplyDelete
  79. Amazing Article ! I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple Linear Regression
    data science interview questions
    KNN Algorithm
    Logistic Regression explained

    ReplyDelete
  80. Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
    workday studio online training
    best workday studio online training
    top workday studio online training

    ReplyDelete
  81. With so much overstated negative criticism of the corporate culture in the media, it is indeed bracing to have an upbeat, positive report on the good things that are happening. Wish to read some more from you!
    SAP training in Kolkata
    SAP training Kolkata
    Best SAP training in Kolkata
    SAP course in Kolkata

    ReplyDelete
  82. This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck.

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  83. Amazing Article ! I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple Linear Regression
    data science interview questions
    KNN Algorithm
    Logistic Regression explained

    ReplyDelete
  84. Great writing! You have a flair for informational writing. Your content has impressed me beyond words. I have a lot of admiration for your writing. Thank you for all your valuable input on this topic.


    Data security consulting services in London

    ReplyDelete
  85. very well explained. I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple Linear Regression
    data science interview questions
    KNN Algorithm
    Logistic Regression explained

    ReplyDelete

  86. Firstly talking about the Blog it is providing the great information providing by you . Thanks for that .Hope More articles from you . Next i want to share some information about Salesforce training in Banglore .

    ReplyDelete
  87. very well explained. I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Logistic Regression explained
    Correlation vs Covariance
    Simple Linear Regression
    data science interview questions
    KNN Algorithm
    Bag of Words Python

    ReplyDelete
  88. php chatbot for website with chatbots software qualifying leads, helping with deals, and robotizing client support with live talk content joining.

    ReplyDelete
  89. I am really happy to say it’s an interesting post to read . I learn new information from your article , you are doing a great job . Keep it up

    Devops Training in Hyderabad

    Hadoop Training in Hyderabad

    Python Training in Hyderabad

    ReplyDelete
  90. Расклад гадания на игральных значится максимально достоверным вариантом предсказать грядущее личности. Синоптические проявления или церемониальные жертвоприношения с течением времени сформировали определенное разъснение увиденного. Первоначальные средства хиромантии были образованы тысячи лет назад до нашей эры.

    ReplyDelete
  91. Заказать большую сумму на виртуальную карту более чем просто. Интерактивный сервис набора микрофинансовых продуктов разрешает оформить желанный счет. займ быстро на карту онлайн – это лучший шанс взять деньги в рекордно короткий период времени.

    ReplyDelete
  92. very well explained. I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    DevOps Training in Chennai

    DevOps Course in Chennai

    ReplyDelete
  93. Верифицируйтесь на портале и найдете нужные очки в своей учетке. Вспомогательный счет позволит срубить больше денежных средств. Нужно отметить, что сервис казино x официальный дарит всем посетителям полезные бонусы.

    ReplyDelete
  94. Заходя в компьютерный клуб, вы сможете уйти с головой в любопытные приключения. Только на портале mrbit casino регистрация посетители с легкостью отыщут интересную интернет-игру для отдыха. Играться с друзьями в значительной степени увлекательнее, чем одному в своем доме.

    ReplyDelete
  95. Проверить собственную удачу возможно только посредством https joycasino. Интерактивное игральное заведение Oycasino – это наилучший метод получить реальные бабки. Незабываемый внешний вид площадки приятен взору, а немыслимое число игрушек предоставляет шанс испытать собственную судьбу.

    ReplyDelete
  96. Oracle Corporation is an American multinational computer technology corporation headquartered in Redwood Shores, California.
    tally training in chennai

    hadoop training in chennai

    sap training in chennai

    oracle training in chennai

    angular js training in chennai






    ReplyDelete
  97. Компания sotni.ru продает cifre statuario brillo 60x60 уже свыше 15 лет. Надежный и проверенный продавец всегда сможет показать невероятный ассортимент декоративного покрытия для коридора.

    ReplyDelete
  98. That's really impressive and helpful information you have given, very valuable content.
    We are also into education and you also can take advantage really awesome job oriented courses

    ReplyDelete
  99. Thanks for sharing this useful information.regards,
    The Best Pest Control Services in delhi

    ReplyDelete
  100. Созданием отделочной плитки занимаются множественные предприятия в мире. Главными ингредиентами для производства являются каолиновая глина и минимальное количество прибавок, изменяющих оттенок и структуру. Сортамент продукции, предложенный в каталоге Легенда Gres http://bbs.dycar.net/home.php?mod=space&uid=442877&do=profile, вправду широк.

    ReplyDelete
  101. Гадание на будущее отношений разрешает предположить, что вас ждет в ближайшее время. Способ рассмотреть приближающиеся явления непрерывно завлекал человека. Любой стремится предугадать собственную судьбу и представляет определенные методы хиромантии более результативными.

    ReplyDelete
  102. Егор Дружинин наконец раскрыл причину, по которой лишился густой шевелюры. Источник https://rusevik.ru/news/655842

    ReplyDelete
  103. В целях качественной установки видеопроектора на адрес клиента выдвигается мастер для осуществления замеров. Приобретайте подходящую модель видеопроектора на сайте https://www.projector24.ru/proektory/acer/. Поставка видеопроекторов выполняется в любом направлении, а отправление формируется в день формирования заказа.

    ReplyDelete
  104. Thanks for posting the best information and the blog is very important.Data science course in Faridabad

    ReplyDelete
  105. Outstanding blog appreciating your endless efforts in coming up with an extraordinary content. Which perhaps motivates the readers to feel excited in grasping the subject easily. This obviously makes every readers to thank the blogger and hope the similar creative content in future too.
    360DigiTMG Data Analytics Course

    ReplyDelete
  106. Thanks for posting the best information and the blog is very helpful.data science interview questions and answers

    ReplyDelete
  107. Приятный аромат и небольшое число ингредиентов вкусненького блюда – получить результат можно за счет пошагового руководства. По сути, на всяком столе без проблем лицезреть запеченную курицу. К слову, подсмотрел простой рецепт аппетитных курячих крылышек на портале рулеты из говядины с гречкой и грибами и карпаччо из свеклы. Куриное мясо – более чем популярный продукт на текущий момент.

    ReplyDelete
  108. Inspiring writings and I greatly admired what you have to say , I hope you continue to provide new ideas for us all and greetings success always for you..Keep update more information. Primavera P6 Training online | Primavera online Training

    ReplyDelete
  109. Кухонную утварь возможно символично разделить на две особые категории – как декорации и практичные, для суточного использования. На сайте интернет-магазина «МАКСИДЕН» запросто найти https://www.ozon.ru/seller/maksiden-73648/sumki-telezhki-7821/ по наиболее актуальной стоимости. Наиболее элементарный пример – на каждой кухне обязательно присутствует электрочайник.

    ReplyDelete
  110. Lahore Smart City is going to be the best choice for commercial, investment and residential point of view. The scheme will have everything to attract national and international investors. In return, investors will get high revenue. On the other hand, the housing society is equipped with state of the art facilities. The facilities are just dream of come true for the people of Lahore. Peace, safety and eco-friendly behaviors. Future Development Holding hires and corporate’s with world-class developers, architectures and planners. This Smart City Lahore will have golf clubs and fields designed by experienced and world-recognized designers.

    ReplyDelete
  111. Great Article, Thanks for the nice & valuable information. Here I have a suggestion that if your looking for the Best Digital Marketing Institute in Rohini Then Join the 99 Digital Academy. 99 Digital Academy offers an affordable Digital Marketing Course in Rohini. Enroll Today.

    ReplyDelete
  112. Thanks for the Valuable information.Really useful information. Thank you so much for sharing. It will help everyone.

    We are the best R Programming Training in Delhi It is one of the leading institutes in India and has been a pioneer for its best record in mentoring students. The Advanced R Programming course content is designed to provide in-depth knowledge of R programming.
    FOR MORE INFO:

    ReplyDelete
  113. Really plenty of beneficial material! Keep on the track and Thank you for sharing
    AWS Training in Hyderabad
    AWS Course in Hyderabad

    ReplyDelete
  114. Thank you very much for providing important information. All your information is very valuable to me.
    Village Talkies a top-quality professional corporate video production company in Bangalore and also best explainer video company in Bangalore & animation video makers in Bangalore, Chennai, India & Maryland, Baltimore, USA provides Corporate & Brand films, Promotional, Marketing videos & Training videos, Product demo videos, Employee videos, Product video explainers, eLearning videos, 2d Animation, 3d Animation, Motion Graphics, Whiteboard Explainer videos Client Testimonial Videos, Video Presentation and more for all start-ups, industries, and corporate companies. From scripting to corporate video production services, explainer & 3d, 2d animation video production , our solutions are customized to your budget, timeline, and to meet the company goals and objectives.
    As a best video production company in Bangalore, we produce quality and creative videos to our clients.

    ReplyDelete
  115. It is better to engaged ourselves in activities we like. I liked the post. Thanks for sharing.
    DevOps Training in Hyderabad
    DevOps Course in Hyderabad

    ReplyDelete
  116. Направляйтесь в путь наиболее выгодным видом транспорта – поездом! Перемещаться Ж/Д составом максимально уместно и рационально. На случай если вам нужны билеты на поезд Симферополь Россошь, можно найти их на сайте Bilety Na Poezda.

    ReplyDelete
  117. На сайте маркетплейса MegaMag клиенты могут подобрать набор столовых приборов купить в москве. Невероятный сортамент вещей для дома и спортивные снаряды по наиболее оптимальной стоимости. Выбирайте необходимые товары высокого качества от топовых поставщиков.

    ReplyDelete
  118. Покупайте требуемые вещи высочайшего качества от топовых производителей. На странице интернет-магазина МегаМаг клиенты могут купить купить набор столовых приборов pintinox. Огромный ассортимент вещей для дома и спортивные принадлежности по максимально оптимальной цене.

    ReplyDelete
  119. I read your article it is very interesting and every concept is very clear, thank you so much for sharing. AWS Certification Course in Chennai

    ReplyDelete
  120. Thanks for sharing
    Village Talkies a top-quality professional corporate video production company in Bangalore and also best explainer video company in Bangalore & animation video makers in Bangalore, Chennai, India & Maryland, Baltimore, USA provides Corporate & Brand films, Promotional, Marketing videos & Training videos, Product demo videos, Employee videos, Product video explainers, eLearning videos, 2d Animation, 3d Animation, Motion Graphics, Whiteboard Explainer videos Client Testimonial Videos, Video Presentation and more for all start-ups, industries, and corporate companies. From scripting to corporate video production services, explainer & 3d, 2d animation video production , our solutions are customized to your budget, timeline, and to meet the company goals and objectives.
    As a best video production company in Bangalore, we produce quality and creative videos to our clients.

    ReplyDelete
  121. Truly mind blowing blog went amazed with the subject they have developed the content. These kind of posts really helpful to gain the knowledge of unknown things which surely triggers to motivate and learn the new innovative contents. Hope you deliver the similar successive contents forthcoming as well.

    data science in bangalore

    ReplyDelete
  122. Морские деликатесы считаются ценным источником отличного белка и приносящих пользу микроэлементов. Морепродукты особенно полезны молодым людям и спортсменам. Рыбы являются важным источником железа для людей. Непосредственно в онлайн-магазине хабаровская красная икра вы можете найти рыбу высокого качества!

    ReplyDelete
  123. Иностранцу понадобится в пределах 15-20 тысяч долларов в год на учёбу, сумма может измениться от университета, где проходит учёба. Особо продвинутые поступающие смогут ориентироваться на небольшую стипендию. Институты Соединенных Штатов Америки не гарантируют стипендиальные места иностранным абитуриентам. Исключительно за счет https://relrus.ru/411672-obrazovanie-v-ssha-pomosch-v-postuplenii-ot-kompanii-infostudy.html вы имеете возможность приобрести качественное обучение и стартануть выгодную карьеру. Иностранцы получают подготовку в США именно по полной оплате.

    ReplyDelete
  124. Nice blog, I really appreciate the hard efforts you would have taken while creating this informational blog. Rubix Market Research

    ReplyDelete
  125. It’s difficult to find experienced people for this subject, however, you sound like you know what you’re talking about! Thanks
    data scientist training and placement

    ReplyDelete