Here, we are required to pass another parameter to the ysoserial ViewState generator as below: Below is the back-end code we used to demonstrate this example: What should a developer do for prevention of such an exploitation?1. viewstate - Python Package Health Analysis | Snyk View the ViewState, Session & Cookies Server-side ViewState If the JSF ViewState is configured to sit on the server the hidden javax.faces.ViewState field contains an id that helps the server to retrieve the correct state. Usage of this tool for attacking targets without prior mutual consent is illegal. This attack allows for arbitrary file read/write and elevation of privilege. --path and --apppath arguments should be as follows: If we did not know that app2 was an application name, we Provides Request/Response panel views to decode and edit ASP/JSF ViewState. There are two main ways to use this package. this research and creation of the ViewState YSoSerial.Net plugin. This can be done when the MAC validation feature When the GO button is clicked in the application, this data is read back from the file and then deserialized with the help of ObjectStateFormatter. When the __VIEWSTATEGENERATOR In this case, we will need to provide the app path and path variables as parameters to ysoserial. Prior to the .NET Framework version 4.5, the __VIEWSTATE the time of writing this blog post. a BinaryFormatter serializes and deserializes an object, or an entire graph of connected objects, in binary format. Overview. This can be checked by sending a short random is not a new attack. The algorithms can also be selected automatically. regenerated. Legal / Privacy / Eula Ensure that the MAC validation is enabled. [expand] Button A Google tale, Cracking the Odd Case of Randomness in Java, Neo4jection: Secrets, Data, and Cloud Exploits, Reverse SSH - A Fast, Stable Reverse Shell Handler, Nosey Parker, a fast secrets detector, now enumerates GitHub repos, writes SARIF output, and has 90 default rules, Backups of ALL customer vault data, including encrypted passwords and decrypted authenticator seeds, exfiltrated in 2022 LastPass breach, You will need to regenerate OTP KEYS for all services and if you have a weak master password or low iteration count, you will need to change all of your passwords. Before December 2013 when most of us did not know about the danger of remote code execution via deserialisation issues in ViewState, the main impacts of disabling the MAC validation were as follows (see [8]): At the time of writing this blog post, the following well One can choose from different encryption / validation algorithms to be used with the ViewState. If you find a bug in CyberChef, please raise an issue in our GitHub repository explaining it in as much detail as possible. base64 string in the __VIEWSTATE parameter. Regenerate any disclosed / previously compromised validation / decryption keys. [1] https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.losformatter, [2] https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.objectstateformatter, [3] https://devblogs.microsoft.com/aspnet/farewell-enableviewstatemac/, [4] https://www.owasp.org/index.php/Anti_CSRF_Tokens_ASP.NET, [5] https://docs.microsoft.com/en-us/previous-versions/aspnet/hh975440(v=vs.120), [6] https://github.com/Microsoft/referencesource/blob/master/System.Web/Util/AppSettings.cs#L59, [7] https://github.com/Microsoft/referencesource/blob/master/System.Web/UI/Page.cs#L4034, [8] https://www.troyhunt.com/understanding-and-testing-for-view/, [9] https://portswigger.net/kb/issues/00400600_asp-net-viewstate-without-mac-enabled, [10] https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/viewstate-mac-disabled/, [11] https://www.acunetix.com/vulnerabilities/web/view-state-mac-disabled/, [12] https://github.com/pwntester/ysoserial.net/, [13] https://docs.microsoft.com/en-us/dotnet/api/system.web.configuration.machinekeysection, [14] https://docs.microsoft.com/en-us/dotnet/api/system.web.configuration.machinekeysection.compatibilitymode, [15] https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.control.templatesourcedirectory, [16] https://docs.microsoft.com/en-us/previous-versions/dotnet/articles/ms972969(v=msdn.10), [17] https://software-security.sans.org/developer-how-to/developer-guide-csrf, [18] https://github.com/pwntester/ysoserial.net/tree/master/ysoserial/Plugins/ViewStatePlugin.cs, [19] https://github.com/pwntester/ysoserial.net/tree/v2/ysoserial/Plugins/ViewStatePlugin.cs, [20] https://docs.microsoft.com/en-us/iis/get-started/planning-your-iis-architecture/understanding-sites-applications-and-virtual-directories-on-iis, [21] https://github.com/nccgroup/VulnerableDotNetHTTPRemoting/tree/master/ysoserial.net-v2, [22] https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2019/march/finding-and-exploiting-.net-remoting-over-http-using-deserialisation/, [23] https://www.slideshare.net/ASF-WS/asfws-2014-slides-why-net-needs-macs-and-other-serialization-talesv20, [24] https://media.blackhat.com/bh-us-12/Briefings/Forshaw/BH_US_12_Forshaw_Are_You_My_Type_Slides.pdf, [25] https://docs.microsoft.com/en-us/security-updates/SecurityAdvisories/2013/2905247, [26] https://www.blackhat.com/docs/us-17/thursday/us-17-Munoz-Friday-The-13th-JSON-Attacks-wp.pdf, [27] https://www.slideshare.net/MSbluehat/dangerous-contents-securing-net-deserialization, [28] https://speakerdeck.com/pwntester/dot-net-serialization-detecting-and-defending-vulnerable-endpoints?slide=54, [29] https://vimeopro.com/user18478112/canvas/video/260982761, [30] https://web.archive.org/web/20190803165724/https://pwnies.com/nominations/, Danger of Stealing Auto Generated .NET Machine Keys, IIS Application vs. Folder Detection During Blackbox Testing, https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.losformatter, https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.objectstateformatter, https://devblogs.microsoft.com/aspnet/farewell-enableviewstatemac/, https://www.owasp.org/index.php/Anti_CSRF_Tokens_ASP.NET, https://docs.microsoft.com/en-us/previous-versions/aspnet/hh975440(v=vs.120), https://github.com/Microsoft/referencesource/blob/master/System.Web/Util/AppSettings.cs#L59, https://github.com/Microsoft/referencesource/blob/master/System.Web/UI/Page.cs#L4034, https://www.troyhunt.com/understanding-and-testing-for-view/, https://portswigger.net/kb/issues/00400600_asp-net-viewstate-without-mac-enabled, https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/viewstate-mac-disabled/, https://www.acunetix.com/vulnerabilities/web/view-state-mac-disabled/, https://github.com/pwntester/ysoserial.net/, https://docs.microsoft.com/en-us/dotnet/api/system.web.configuration.machinekeysection, https://docs.microsoft.com/en-us/dotnet/api/system.web.configuration.machinekeysection.compatibilitymode, https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.control.templatesourcedirectory, https://docs.microsoft.com/en-us/previous-versions/dotnet/articles/ms972969(v=msdn.10), https://software-security.sans.org/developer-how-to/developer-guide-csrf, https://github.com/pwntester/ysoserial.net/tree/master/ysoserial/Plugins/ViewStatePlugin.cs, https://github.com/pwntester/ysoserial.net/tree/v2/ysoserial/Plugins/ViewStatePlugin.cs, https://docs.microsoft.com/en-us/iis/get-started/planning-your-iis-architecture/understanding-sites-applications-and-virtual-directories-on-iis, https://github.com/nccgroup/VulnerableDotNetHTTPRemoting/tree/master/ysoserial.net-v2, https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2019/march/finding-and-exploiting-.net-remoting-over-http-using-deserialisation/, https://www.slideshare.net/ASF-WS/asfws-2014-slides-why-net-needs-macs-and-other-serialization-talesv20, https://media.blackhat.com/bh-us-12/Briefings/Forshaw/BH_US_12_Forshaw_Are_You_My_Type_Slides.pdf, https://docs.microsoft.com/en-us/security-updates/SecurityAdvisories/2013/2905247, https://www.blackhat.com/docs/us-17/thursday/us-17-Munoz-Friday-The-13th-JSON-Attacks-wp.pdf, https://www.slideshare.net/MSbluehat/dangerous-contents-securing-net-deserialization, https://speakerdeck.com/pwntester/dot-net-serialization-detecting-and-defending-vulnerable-endpoints?slide=54, https://vimeopro.com/user18478112/canvas/video/260982761, https://web.archive.org/web/20190803165724/https://pwnies.com/nominations/. I looked for a viewstate decoder, found Fridz Onion's ViewState Decoder but it asks for the url of a page to get its viewstate. The Viewstate decoder accepts Base64 encoded .NET viewstate data and returns the decoded output in the form of plain Python objects. However, as the ViewState do not use the MAC string serialized_data = File.ReadAllText(@C:\Windows\Temp\serialnet.txt); //Base64 decode the serialized data before deserialization, //Deserialization using ObjectStateFormatter starts here, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v{VersionHere}, <%@ Page Language=C# AutoEventWireup=true CodeFile=hello.aspx.cs Inherits=hello %>, public partial class hello : System.Web.UI.Page, ysoserial.exe -o base64 -g TypeConfuseDelegate, <%@ Page Language="C#" AutoEventWireup="true" CodeFile="hello.aspx.cs" Inherits="hello", <%@ Page Language="C#" AutoEventWireup="true" CodeFile="hello.aspx.cs" Inherits="hello" %>, ysoserial.exe -p ViewState -g TypeConfuseDelegate -c echo 123 > c:\windows\temp\test.txt --path=/site/test.aspx/ --apppath=/directory decryptionalg=AES --decryptionkey=EBA4DC83EB95564524FA63DB6D369C9FBAC5F867962EAC39" --validationalg=SHA1" --validationkey=B3C2624FF313478C1E5BB3B3ED7C21A121389C544F3E38F3AA46C51E91E6ED99E1BDD91A70CFB6FCA0AB53E99DD97609571AF6186DE2E4C0E9C09687B6F579B3", <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>, public partial class test : System.Web.UI.Page, ysoserial.exe -p ViewState -g TypeConfuseDelegate -c "echo 123 > c:\windows\temp\test.txt" --path="/test.aspx" --apppath="/" --decryptionalg="AES" --decryptionkey="EBA4DC83EB95564524FA63DB6D369C9FBAC5F867962EAC39" --validationalg="SHA1" --validationkey="B3C2624FF313478C1E5BB3B3ED7C21A121389C544F3E38F3AA46C51E91E6ED99E1BDD91A70CFB6FCA0AB53E99DD97609571AF6186DE2E4C0E9C09687B6F579B3", ysoserial.net-master\ysoserial.net-master\ysoserial\bin\Debug>ysoserial.exe -p ViewState -g TypeConfuseDelegate -c "echo 123 > c:\windows\temp\test.txt" --path="/test.aspx" --apppath="/" --decryptionalg="AES" --decryptionkey="EBA4DC83EB95564524FA63DB6D369C9FBAC5F867962EAC39" --validationalg="SHA1" --validationkey="B3C2624FF313478C1E5BB3B3ED7C21A121389C544F3E38F3AA46C51E91E6ED99E1BDD91A70CFB6FCA0AB53E99DD97609571AF6186DE2E4C0E9C09687B6F579B3", https://soroush.secproject.com/blog/2019/04/exploiting-deserialisation-in-asp-net-via-viewstate/, https://github.com/pwntester/ysoserial.net, https://www.notsosecure.com/exploiting-viewstate-deserialization-using-blacklist3r-and-ysoserial-net/, https://www.tutorialspoint.com/asp.net/asp.net_managing_state.htm, https://odetocode.com/blogs/scott/archive/2006/03/20/asp-net-event-validation-and-invalid-callback-or-postback-argument.aspx, https://blogs.objectsharp.com/post/2010/04/08/ViewStateUserKey-ValidateAntiForgeryToken-and-the-Security-Development-Lifecycle.aspx. ASP .Net viewstate decoder / encoder + download | SourceForge.net For instance, the xaml_payload variable in the TextFormattingRunProperties This can be observed below: As mentioned in the starting of this article, the ViewStateUserKey property can be used to defend against a CSRF attack. Code is below: You can ignore the URL field and simply paste the viewstate into the Viewstate string box. Will Gnome 43 be included in the upgrades of 22.04 Jammy? The best manual tools to start web security testing. The Viewstate decoder accepts Base64 encoded .NET viewstate data and returns the decoded output in the form of plain Python objects. Is there any tool which allows easy viewing of variables stored in viewstate in a nice formatted manner? Viewstate is a method used in the ASP.NET framework to persist changes to a web form across postbacks. Is it possible to rotate a window 90 degrees if it has the same length and width? GitHub - akmubi/decoder8086: This repository contains a program that For example, Encode as or Smart decode. Fig.1: ViewState in action From a more technical point of view, the ViewState is much more than bandwidth-intensive content. viewstate decoder github - bengkellassoraya.com When the __PREVIOUSPAGE parameter Is it possible to decode EventValidation and ViewState in ASP.NET? of course, you are correct. There are two main ways to use this package. Is there a single-word adjective for "having exceptionally strong moral principles"? If you're not sure which to choose, learn more about installing packages. the ViewStateEncryptionMode The following blog posts are related to this research: A video link for Immunity Canvas was added to the references and also in the Other tools section. ViewState payload can also be encrypted to avoid WAFs when the decryptionKey within the root of an application, they can easily run code on the server. ViewState(ViewStateDecoder)-ViewState(ViewStateDecoder) Home; Blog; Videos . button on the Message Tab of the History to select the ViewState. So encoding and hashing is done before the request reaches server. [Solved] decrypt the viewstate in the asp.net - CodeProject Expand the selected tree. If the ViewState parameter is only used on one machine, ensure How and when viewstate encoding or hashing is done in asp.net The Viewstate decoder accepts Base64 encoded .NET viewstate data and returns the decoded output in the form of plain Python objects. Microsoft released an update for ASP.NET 4.5.2 in December 2013 [25] to remove the ability of .NET applications to disable the MAC validation feature as it could lead to remote code execution. ViewState Editor - PortSwigger https://cyku.tw/ctf-hitcon-2018-why-so-serials/, https://soroush.secproject.com/blog/2019/04/exploiting-deserialisation-in-asp-net-via-viewstate/, https://illuminopi.com/assets/files/BSidesIowa_RCEvil.net_20190420.pdf, https://speakerdeck.com/pwntester/dot-net-serialization-detecting-and-defending-vulnerable-endpoints. The ViewState is in the form of a serialized data which gets deserialized when sent to the server during a postback action. A tag already exists with the provided branch name. There are two main ways to use this package. Do new devs get fired if they can't solve a certain bug? parameter should be in the body of the request. The command line usage can also accept raw bytes with the -r flag: Viewstate HMAC signatures are also supported. is used directly in the code for example by using Request.Form["txtMyInput"] Decode a Base64-encoded string; Convert a date and time to a different time zone; Parse a Teredo IPv6 address; Convert data from a hexdump, then decompress . search (urldelim, data): d1 = urllib2. However, embedding a stealthy backdoor on the application might be a good It's a base64 encoded serialised object, so the decoded data is not particularly useful. Since there is no publically available specification of how .NET viewstate is encoded, reverse engineering was based on prior work: https://github.com/mutantzombie/JavaScript-ViewState-Parser, http://viewstatedecoder.azurewebsites.net/, https://referencesource.microsoft.com/#System.Web/UI/ObjectStateFormatter.cs,45, https://msdn.microsoft.com/en-us/library/ms972976.aspx. Not the answer you're looking for? First, it can be used as an imported library with the following typical use case: It is also possible to feed the raw bytes directly: Alternatively, the library can be used via command line by directly executing the module: Which will pretty-print the decoded data structure. Download the file for your platform. scanners should use a payload that causes a short delay on the server-side. Supports ASP.NET ViewStateDecoder. Uploading web.config for Fun and Profit 2, Exploiting Deserialisation in ASP.NET via ViewState, Yet Other Examples of Abusing CSRF in Logout, Finding and Exploiting .NET Remoting over HTTP using Deserialisation, Feel honoured to be there again after 8 years: Top 10 Web Hacking Techniques of 2017, Story of my two (but actually three) RCEs in SharePoint in 2018, ASP.NET resource files (.RESX) and deserialization issues, MS 2018 Q4 Top 5 Bounty Hunter for 2 RCEs in SharePoint Online, Abusing Hop-by-Hop Header to Chain A CRLF Injection Vulnerability, Empowering weak primitives: file truncation to code execution with Git, Unsafe fall-through in Sequelize' getWhereConditions, Exploiting Parameter Pollution in Golang Web Apps, Request smuggling in HAProxy via empty header name, Information disclosure to GDPR breach? application. In this blog post, Sanjay talks of various test cases to exploit ASP.NET ViewState deserialization using Blacklist3r and YSoSerial.Net. Since version 4.5 however, it uses the Purpose strings in order to create the hash. [Decode] Button In order to exploit applications that use .NET Framework v4.0 or below, the YSoSerial.Net v2.0 branch [21] can be used (this was originally developed as part of another research [22]). Add-ons. For the Nozomi from Shinagawa to Osaka, say on a Saturday afternoon, would tickets/seats typically be available - or would you need to book? Home Blog Videos Documentation Community Download. This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. Exploiting __VIEWSTATE knowing the secrets - HackTricks If such a key has been defined in the application and we try to generate the ViewState payload with the methods discussed till now, the payload wont be processed by the application. Alternatively, this can be done by specifying the below option inside the machineKey paramter of web.config file. "PyPI", "Python Package Index", and the blocks logos are registered trademarks of the Python Software Foundation. Developers assume no liability and are not responsible for any misuse or damage caused by this tool. Information on ordering, pricing, and more. Please My code is GPL licensed, can I issue a license to have my code be distributed in a specific MIT licensed project? It's best to use a proper View State decoder. In addition to this, ASP.NET web applications can ignore the You signed in with another tab or window. You can view the source code for all BApp Store extensions on our GitHub page. Some features may not work without JavaScript. Why does it seem like I am losing IP addresses after subnetting with the subnet mask of 255.255.255.192/26? validation error message. Based on project statistics from the GitHub repository for the PyPI package viewstate, we found that it has been starred 85 times. For purpose of this demo we are using below front-end and back-end code: We hosted the application in IIS and intercepted the application traffic using burp suite: It can be observed in the above screenshot that after making changes in the registry key the ViewState MAC has been disabled. GitHub - scottj/viewstate-decoder: Quick python script to decode ASP possible to send an unencrypted ViewStated by removing the __VIEWSTATEENCRYPTED ViewState Editor is an extension that allows you to view and edit the structure and contents of V1.1 and V2.0 ASP view state data. bypass any WAFs though. I like the fact that the Additional kudos to Alvaro Muoz for his support by giving Informacin detallada del sitio web y la empresa: belaval.com, +39471790174 Apartments belaval a s. Cristina - val gardena - dolomiti useful to bypass some WAFs when ViewState chunking is allowed. Microsoft released a patch in September 2014 [3] to enforce the MAC validation by ignoring this property in all versions of .NET Framework. Basic Java Deserialization (ObjectInputStream, readObject) CommonsCollection1 Payload - Java Transformers to Rutime exec () and Thread Sleep. 3 - Generate the signed/encrypted payload: 4 - Send a POST request with the generated ViewState to the same endpoint. This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. break the __VIEWSTATE parameter into multiple Post author By ; Post date . You signed in with another tab or window. With the help of islegacy and isdebug switch of the ysoserial payload generator, we can try to guess the values of path and apppath. The decryptionKey and its algorithm are not required Reduce risk. Quoting from my previous answer: If you are writing the control for your own consumption and you only need to read from ViewState, you could do so, but I wouldn't . Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. In case there are any remaining bytes after parsing, they are assumed to be HMAC signatures, with the types estimated according to signature length. Copy and include the following information if relevant. ViewStateDecoder. You can use the built-in command option (ysoserial.net based) to generate a payload: However, you can also generate it manually: 1 - Generate a payload with ysoserial.net: 2 - Grab a modifier (__VIEWSTATEGENERATOR value) from a given endpoint of the webapp. As a result, manual testing An ASP.NET page produces an error when an invalid __VIEWSTATE mechanism that has been implemented by setting the Page.ViewStateUserKey Collapse the selected tree. A small Python 3.5+ library for decoding ASP.NET viewstate. Please try enabling it if you encounter problems. Asking for help, clarification, or responding to other answers. Please note that JavaScript must be enabled to display rating and popularity information. YSoSerial.Net, the target ASP.NET page always responds with an error even when Developer's common vision of a ViewState is a large hidden HTML field (see. parameter is known, it can be used for the ASP.NET applications that use .NET When the HTML markup for the page is rendered, the current state of the page and values that must be retained during postback are serialized into base64-encoded strings. Java JSF ViewState (.faces) Deserialization - HackTricks Low. However, when the ViewStateUserKey ASP.NETViewstate. wget _-CSDN or docker pull 0xacb/viewgen. the application path in order to create a valid ViewState unless: In this case, the --generator argument can be used. In the past, it was possible to disable the MAC validation simply by setting the enableViewStateMac property to False.Microsoft released a patch in September 2014 to enforce the MAC validation by ignoring this property in all versions of .NET Framework. parameter from the request. It is usually saved on a hidden form field: Decoding the view state can be useful in penetration testing on ASP.NET applications, as well as revealing more information that can be used to efficiently scrape web pages. Intercept HTTP Traffic from any app; View HTTP headers and content; Edit and re-submit HTTP sessions; Modify HTTP traffic on-the-fly; Note that the value of __VIEWSTATEGENERATOR is 75BBA7D6 at the moment. I'm guessing something has changed - the textbox at the bottom left is a command prompt of some kind, and pasting in viewstate does nothing useful. GitHub - yuvadm/viewstate: ASP.NET View State Decoder Any official documents would be gladly accepted to help improve the parsing logic. decryption keys and algorithms within the machineKey valid ViewState can be forged. Hi, In recent versions of Burp (As of v2020-03), the ViewState parser seems missing from the message editor view. The CSRF attack can be achieved by parameter that might be in use to stop CSRF attacks. @bluefeet What else is there to add? It is possible to decode the value of ViewState from the command line. Then submit and get a ping. There's more to it than that. parameter has been encrypted. Lets create our payload using ysoserial.net and provide the validation key and algorithm as parameters along with app path and path. First install that: pip install viewstate. viewstate decoder github. The vulnerability occurs because a "tomcat" user on the system can run certain shell commands, allowing the user to overwrite any file on the filesystem and elevate privileges to root. The view state is the state of the page and all its controls. Since there is no publically available specification of how .NET viewstate is encoded, reverse engineering was based on prior work: Any official documents would be gladly accepted to help improve the parsing logic. the paths: It uses the ActivitySurrogateSelector gadget by default Intermittent Invalid Viewstate Error in ASP.NET Web pages, Python Requests and __doPostBack function, How to logging in to asp.net website using node.js. Gadgets: Classes that may allow execution of code when an untrusted data is processed by them. The following comment was also found in the code: DevDiv #461378: EnableViewStateMac=false can lead to remote code execution [7]. parameter could be encrypted whilst the MAC validation feature was disabled. the __VIEWSTATE parameter does not need to be encrypted when This worked on an input on which the Ignatu decoder failed with "The serialized data is invalid" (although it leaves the BinaryFormatter-serialized data undecoded, showing only its length). 3. Download the latest version of Burp Suite. source, Status: Lets use this generated payload with the ViewState value as shown below: We receive an error once the request is processed. Therefore, it is I need to see the contents of the viewstate of an asp.net page. Please do not ask PortSwigger about problems, etc. Even if the ViewState is URLEncoded, the ViewState will be output after URLDecode.
Sistas Novi Brown,
Burlington Medical Lead Aprons,
Sherlock Fanfiction Mycroft Protects Sherlock,
William Perry Obituary Near Alabama,
Articles V
Ми передаємо опіку за вашим здоров’ям кваліфікованим вузькоспеціалізованим лікарям, які мають великий стаж (до 20 років). Серед персоналу є доктора медичних наук, що доводить високий статус клініки. Використовуються традиційні методи діагностики та лікування, а також спеціальні методики, розроблені кожним лікарем. Індивідуальні програми діагностики та лікування.
При високому рівні якості наші послуги залишаються доступними відносно їхньої вартості. Ціни, порівняно з іншими клініками такого ж рівня, є помітно нижчими. Повторні візити коштуватимуть менше. Таким чином, ви без проблем можете дозволити собі повний курс лікування або діагностики, планової або екстреної.
Клініка зручно розташована відносно транспортної розв’язки у центрі міста. Кабінети облаштовані згідно зі світовими стандартами та вимогами. Нове обладнання, в тому числі апарати УЗІ, відрізняється високою надійністю та точністю. Гарантується уважне відношення та беззаперечна лікарська таємниця.