<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sahil Sharma</title>
    <description>The latest articles on DEV Community by Sahil Sharma (@ss-d3v).</description>
    <link>https://dev.to/ss-d3v</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F800416%2Fa2145978-d4bd-49d8-878d-91aeeb243f69.jpeg</url>
      <title>DEV Community: Sahil Sharma</title>
      <link>https://dev.to/ss-d3v</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ss-d3v"/>
    <language>en</language>
    <item>
      <title>Top 7 websites to learn secure code development faster</title>
      <dc:creator>Sahil Sharma</dc:creator>
      <pubDate>Fri, 18 Nov 2022 13:35:34 +0000</pubDate>
      <link>https://dev.to/ss-d3v/7-websites-to-learn-secure-code-development-faster-50o0</link>
      <guid>https://dev.to/ss-d3v/7-websites-to-learn-secure-code-development-faster-50o0</guid>
      <description>&lt;p&gt;In this fast-paced world of development where new "next generation" frameworks, Libraries and tools are built and used every day. People often forget about one critical issue which is &lt;strong&gt;security&lt;/strong&gt; of the software.&lt;/p&gt;

&lt;h3&gt;
  
  
  Here are some highly recommended trainings and resources you can use to improve code security:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://application.security/"&gt;Application Security Training by Kontra&lt;/a&gt;&lt;br&gt;
Best way Accelerate Application Security Training and Software Security Education to all developers through Interactive Learning platform. &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbpptn9dl5xyv2ttcqb75.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbpptn9dl5xyv2ttcqb75.png" alt="Application Security Training by Kontra" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://owasp.org/Top10/"&gt;OWASP Checklist and Exercises&lt;/a&gt;&lt;br&gt;
When it comes to security it is not possible to complete without talking about the OWASProject contributions. Here are two resources for code security.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://owasp.org/www-pdf-archive/OWASP_SCP_Quick_Reference_Guide_v2.pdf"&gt;Secure practices reference guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://owasp.org/SecureCodingDojo/codereview101/"&gt;Secure Coding Dojo&lt;/a&gt; &lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5tml4jvxkdcxc940vpdv.png" alt="Secure Coding Dojo" width="800" height="380"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://snyk.io/security-resources/"&gt;Snyk Security Resources and Tools&lt;/a&gt;&lt;br&gt;
Snyk is the one tool required to build securely. It provides many security resources including best practices, tools, cheat sheets &amp;amp; checklists. &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3tnv3xuvxfzo8ti0i7wf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3tnv3xuvxfzo8ti0i7wf.png" alt="Snyk Security Resources and Tools" width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.securecodewarrior.com/"&gt;Secure Code Warrior&lt;/a&gt;&lt;br&gt;
An enterprise product to shape developers to be more security-driven by teaching all skills needed to produce secure code. It also offers some free exercises. &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcdpzax1ne572l0lo7y4b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcdpzax1ne572l0lo7y4b.png" alt="Secure Code Warrior" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://avatao.com/"&gt;Avatao Interactive Secure Coding Training&lt;/a&gt;&lt;br&gt;
Avatao’s secure coding training enables developers and managers to  prevent vulnerabilities, saving your company time and reducing business risks. &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31xd5j6i8o5zy1qx0j1f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31xd5j6i8o5zy1qx0j1f.png" alt="Avatao Interactive Secure Coding Training" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.veracode.com/developers/training"&gt;Veracode Secure Code Training&lt;/a&gt;&lt;br&gt;
A secure code program designed specifically for developers with hands-on training helps you fix and prevent new security flaws. You can choose between self-paced online or instructor-led training. &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6v2ysrppxgszp1fyy58e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6v2ysrppxgszp1fyy58e.png" alt="Veracode Secure Code Training" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.sans.org/security-awareness-training/products/specialized-training/developer/"&gt;SANS Developer Security Awareness Training&lt;/a&gt;&lt;br&gt;
Learn how to secure five modern programming languages, which are NodeJS, PHP, Java, Python and C#, from OWASP Top 10 vulnerabilities. &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftoyk3bhg7aexx10wbjsd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftoyk3bhg7aexx10wbjsd.png" alt="SANS Developer Security Awareness Training" width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Bonus Resources
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.manning.com/books/full-stack-python-security"&gt;Full stack Python Security Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Escape-Technologies"&gt;Awesome GraphQL Security &amp;amp; Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stackoverflow.com/questions/3115559/exploitable-php-functions"&gt;Dangerous PHP functions - Stack Overflow thread&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  If you found this article helpful 👇🏻
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Follow me @sam5epi0l. Check out other articles.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://buymeacoffee.com/sam5epi0l"&gt;Buy Me a Coffee&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Comment your queries and best resources.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>security</category>
    </item>
    <item>
      <title>5 pro tools which make you unstoppable on Linux command line</title>
      <dc:creator>Sahil Sharma</dc:creator>
      <pubDate>Tue, 04 Oct 2022 11:50:51 +0000</pubDate>
      <link>https://dev.to/ss-d3v/5-pro-tools-which-make-you-unstoppable-on-linux-command-line-e6a</link>
      <guid>https://dev.to/ss-d3v/5-pro-tools-which-make-you-unstoppable-on-linux-command-line-e6a</guid>
      <description>&lt;p&gt;For a Linux user of any experience level, I have 5 most useful commands/tools which makes it straightforward to start with the Linux command line and become a advanced user.&lt;/p&gt;

&lt;p&gt;These commands will be most effective for newbie Linux users. Every Linux system includes similar command line interface , if anyone is good at command line then becoming a expert Linux user is no pain.&lt;/p&gt;

&lt;h2&gt;
  
  
  navi
&lt;/h2&gt;

&lt;p&gt;It is an interactive cheatsheet tool. navi allows you to browse through cheatsheets (that you may write yourself or download from maintainers) and execute commands. It also comes with power of fzf tool.&lt;/p&gt;

&lt;p&gt;Official demo&lt;br&gt;
&lt;a href="https://asciinema.org/a/406461" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fasciinema.org%2Fa%2F406461.svg" alt="asciicast"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github link — &lt;a href="https://github.com/denisidoro/navi" rel="noopener noreferrer"&gt;https://github.com/denisidoro/navi&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  fish
&lt;/h2&gt;

&lt;p&gt;fish is a smart and user-friendly command line shell for macOS, Linux, and the rest of the family. fish includes features like syntax highlighting, autosuggest-as-you-type, and fancy tab completions that just work, with no configuration required.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://asciinema.org/a/423239" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fasciinema.org%2Fa%2F423239.svg" alt="asciicast"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github link — &lt;a href="https://github.com/fish-shell/fish-shell" rel="noopener noreferrer"&gt;https://github.com/fish-shell/fish-shell&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  which
&lt;/h2&gt;

&lt;p&gt;which is a simple tool. It shows the full path of shell commands. It does this by searching for an executable or script in the directories listed in the environment variable PATH.&lt;/p&gt;

&lt;p&gt;More info and installation commmands — &lt;a href="https://command-not-found.com/which" rel="noopener noreferrer"&gt;https://command-not-found.com/which&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  cheat.sh
&lt;/h2&gt;

&lt;p&gt;It is most powerful cheatsheet database with over 12k+ command available. With so many features which makes it the only cheatsheet you need.&lt;/p&gt;

&lt;p&gt;Learn more about cheat.sh and usage here— &lt;a href="https://github.com/chubin/cheat.sh#features" rel="noopener noreferrer"&gt;https://github.com/chubin/cheat.sh#features&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  man-db
&lt;/h2&gt;

&lt;p&gt;It consists of manual pages which provides full description of programs, utilities and functions. man-db package has to main command man (access manpages) and apropos (search manpages).&lt;/p&gt;

&lt;p&gt;Read more about man-db here — &lt;a href="https://www.man7.org/linux/man-pages/man1/man.1.html" rel="noopener noreferrer"&gt;https://www.man7.org/linux/man-pages/man1/man.1.html&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;Thank you so much for reading this article. I hope these commands will help in your Linux journey and make you productive at Linux command line. Feel free to add some helpful resources in the comments.&lt;/p&gt;

&lt;p&gt;Please leave some reactions if you found this article useful and don’t forget to follow me for more useful content related to Linux, Programming, Webapp hacking. Peace!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>beginners</category>
      <category>productivity</category>
      <category>bash</category>
    </item>
    <item>
      <title>What is Cross-Site Scripting vulnerability? How to find it? How to prevent a XSS attack?</title>
      <dc:creator>Sahil Sharma</dc:creator>
      <pubDate>Mon, 25 Jul 2022 13:36:14 +0000</pubDate>
      <link>https://dev.to/ss-d3v/what-is-cross-site-scripting-vulnerability-how-to-find-it-how-to-prevent-a-xss-attack-389b</link>
      <guid>https://dev.to/ss-d3v/what-is-cross-site-scripting-vulnerability-how-to-find-it-how-to-prevent-a-xss-attack-389b</guid>
      <description>&lt;p&gt;In this article, I’ll explain a critical web security risk known as Cross-site scripting, indications, types  and how to prevent an XSS attack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is cross-site scripting?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;**Cross-Site Scripting **is a type of injection attack which allows an attacker to inject malicious client-side code (executed by victims) that leads to impersonating users  to get privileged access to the web application, perform cross site request forgery attacks to other vulnerable website, redirect victims to an attackers site, download malicious files, etc. XSS can be chained to other vulnerabilities to get full access to the target system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Proof of concept (PoC)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;XSS just simply adds arbitrary html and javascript code in response if developers do not sanitize users input properly and encode html characters in the response. You can start by injecting some innocent HTML playloads like &lt;strong&gt;&amp;lt;u&amp;gt;&lt;/strong&gt;,** &amp;lt;br&amp;gt;&lt;strong&gt;,&lt;/strong&gt; &amp;lt;p&amp;gt;&lt;strong&gt;. And then use a javascript function inside HTML tags to confirm a XSS bug. **alert() **was used as a proof of concept of an XSS bug for decades but now it’s replaced by **print()&lt;/strong&gt;, &lt;strong&gt;alert(document.domain)&lt;/strong&gt; and &lt;strong&gt;alert(window.origin)&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Type of cross-site scripting vulnerability&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Reflected XSS&lt;/strong&gt; - When the XSS payload in request gets reflected immediately in the response. It’s not permanently saved on the server. Example - Let’s say the request link is sent to the victim by phishing or embedded in any other website.&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// REQUEST URL
https://website.com/profile.php?show=&amp;lt;script&amp;gt;print()&amp;lt;/script&amp;gt; 
// RESPONSE
&amp;lt;script&amp;gt;print()&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Stored XSS&lt;/strong&gt; - When the XSS payload is saved to the server and executed for every other user accessing the vulnerable web page. The code is saved permanently in the website's database and could be used to create a worm. Example - Victim uses the website and gets malicious code executed.&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;p&amp;gt;&amp;lt;script&amp;gt;print()&amp;lt;/script&amp;gt;&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;DOM-based XSS&lt;/strong&gt; - When the bug is found in the source code of the vulnerable web page and the files attached to it. The Document Object Model is a convention used to represent and work with objects in an HTML document as well as in other document types.&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script&amp;gt;
 var pos=document.URL.indexOf("context=")+8;
 document.write(document.URL.substring(pos,document.URL.length));
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;How to prevent XSS attacks? 🛡️&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cross-site scripting has been among &lt;a href="https://owasp.org/www-project-top-ten/"&gt;OWASP top 10&lt;/a&gt; security risk list since 2010 so it is important for developers to write secure code and prevent XSS attacks. As XSS is an injection vulnerability the key to prevent these attacks is to never trust user input. Also a non-practical answer would be never let user provided data rendered into a webpage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;XSS prevention methods 📃&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Use a Web Application Firewall&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Firewall immediately blocks certain malicious payloads and tags in HTTP requests.&lt;/li&gt;
&lt;li&gt;Firewall can be bypassed in some cases but it could get very frustrating for the attacker.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DevSecOps&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Snyk.io 

&lt;ol&gt;
&lt;li&gt;Find and automatically fix vulnerabilities in your code, open source dependencies, containers, and infrastructure as code.&lt;/li&gt;
&lt;li&gt;Use snyk’s extensions for your IDE.&lt;/li&gt;
&lt;li&gt;Scan for vulnerable docker containers.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validate and sanitize user-provided data&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;User data should be validated on the front end of sites for correctness (e.g. username, email, domain and phone number formatting), but it should also always be validated and sanitized on the backend for security. &lt;/li&gt;
&lt;li&gt;Depending on the application, you may be able to whitelist alphanumeric characters and blacklist all other characters. However, this solution is not foolproof.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTML Encoding&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Any time that you are rendering user-provided data into the body of the document (e.g. with the innerHTML attribute in JavaScript), you should &lt;a href="https://www.w3docs.com/tools/html-encoder/"&gt;HTML encode&lt;/a&gt; the data.&lt;/li&gt;
&lt;li&gt;Some examples of HTML encoding are:

&lt;ol&gt;
&lt;li&gt;&amp;amp;    &amp;amp;&lt;/li&gt;
&lt;li&gt;&amp;lt;    &amp;lt;&lt;/li&gt;
&lt;li&gt;&amp;gt;    &amp;gt;&lt;/li&gt;
&lt;li&gt;"    "&lt;/li&gt;
&lt;li&gt;'    '&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use a security encoding library&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;For many languages and frameworks, there are security encoding libraries that can help prevent XSS.&lt;/li&gt;
&lt;li&gt;Use updated frameworks.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use iframe tags&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;You can use an iframe tag to prevent stealing cookies/sessions, privileged access.&lt;/li&gt;
&lt;li&gt;Google blogger platform uses iframe tags to render code on different subdomains and prevent XSS on the main webapp.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Wrapping Up&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Key takeaways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;XSS is a critical injection vulnerability by which an attacker manipulates server response and executes arbitrary javascript code in the user's web browser.&lt;/li&gt;
&lt;li&gt;There are 3 types of XSS: Reflected, DOM-based, and stored.&lt;/li&gt;
&lt;li&gt;XSS attacks can be used to download malicious files, do cross site requests, steal authentication information, hijack sessions, steal sensitive data, and deface websites.&lt;/li&gt;
&lt;li&gt;Prevent XSS by sanitizing user data on the backend, HTML-encode user-provided data that’s rendered into the template, and use a security encoding library or WAF.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Related Links:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OWASP top 10 - &lt;a href="https://owasp.org/www-project-top-ten/"&gt;https://owasp.org/www-project-top-ten/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;OWASP cheatsheet - &lt;a href="https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html"&gt;https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Portswigger prevention - &lt;a href="https://portswigger.net/web-security/cross-site-scripting/preventing"&gt;https://portswigger.net/web-security/cross-site-scripting/preventing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Article on Reviewing Code for Cross-site scripting Vulnerabilities - &lt;a href="https://wiki.owasp.org/index.php/Reviewing_Code_for_Cross-site_scripting"&gt;https://wiki.owasp.org/index.php/Reviewing_Code_for_Cross-site_scripting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Portswigger research - &lt;a href="https://portswigger.net/research/alert-is-dead-long-live-print"&gt;https://portswigger.net/research/alert-is-dead-long-live-print&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I hope this article is helpful for you. Thank you for reading.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>html</category>
      <category>security</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Everything you need to know about Creating files in LINUX-Based Operating Systems</title>
      <dc:creator>Sahil Sharma</dc:creator>
      <pubDate>Mon, 25 Jul 2022 08:12:10 +0000</pubDate>
      <link>https://dev.to/ss-d3v/everything-you-need-to-know-about-creating-files-in-linux-based-operating-systems-52hm</link>
      <guid>https://dev.to/ss-d3v/everything-you-need-to-know-about-creating-files-in-linux-based-operating-systems-52hm</guid>
      <description>&lt;p&gt;The Linux file-system considers everything as a file. From text/media/binary files and directories to hardware devices connected physically, everything is a file in linux. If it is not a file then it must be a process. In Linux, files form a tree-structure to manage the data. There are so many ways to create a file in linux, so let's look at some conventional ways to do that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rules for files to exist in a Linux file-system&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Files are *&lt;em&gt;case sensitive *&lt;/em&gt;(unlike Windows). So, &lt;code&gt;temp.txt&lt;/code&gt;, &lt;code&gt;Temp.txt&lt;/code&gt; and &lt;code&gt;TEMP.txt&lt;/code&gt; all are different files.&lt;/li&gt;
&lt;li&gt;Users should have permissions to create a file on the parent folder.

&lt;ol&gt;
&lt;li&gt;Check permission with &lt;code&gt;ls -al&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;Make sure you are the user or from the group.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;li&gt;You can use other special characters such as blank space, but they are hard to use and it is better to avoid them.&lt;/li&gt;
&lt;li&gt;filenames may contain any character except &lt;code&gt;/&lt;/code&gt; , which is reserved as the separator between files and directories in a pathname. You cannot use the null character.&lt;/li&gt;
&lt;li&gt;use a dot based filename extension to identify files. For example:

&lt;ol&gt;
&lt;li&gt;    .sh = Shell file&lt;/li&gt;
&lt;li&gt;    .tar.gz = Compressed archive&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;li&gt;Most modern Linux and UNIX limit filenames to 255 characters (255 bytes). However, some older versions of the UNIX system limit filenames to 14 characters only.&lt;/li&gt;
&lt;li&gt;A filename must be unique inside its directory. For example, inside &lt;code&gt;/root&lt;/code&gt; directory you cannot create a &lt;code&gt;file.txt&lt;/code&gt; file and &lt;code&gt;file.txt&lt;/code&gt; directory name&lt;/li&gt;
&lt;li&gt;Avoid these characters from including in file names &lt;code&gt;/&amp;gt;&amp;amp;lt;|:&amp;amp;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Enclose the file name with single-quote  &lt;code&gt;'file.txt'&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Little snippet of experiment with creating files in Linux:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;root@aaf52077a089:/# cd /root
root@aaf52077a089:~# touch '!@#$%^&amp;amp;*(()_+-{}[]":&amp;gt;&amp;lt;/?&amp;gt;&amp;lt;'
touch: cannot touch '!@#$%^&amp;amp;*(()_+-{}[]":&amp;gt;&amp;lt;/?&amp;gt;&amp;lt;': No such file or directory
root@aaf52077a089:~# touch '!@#$%^&amp;amp;*(()_+-'
root@aaf52077a089:~# touch file.txt
root@aaf52077a089:~# touch  File.txt
root@aaf52077a089:~# mkdir file.txt
mkdir: cannot create directory 'file.txt': File exists
root@aaf52077a089:~# ls -al
total 16
-rw-r--r-- 1 root root    0 Jul 16 11:19 '!@#$%^&amp;amp;*(()_+-'
drwx------ 1 root root 4096 Jul 16 11:20  .
drwxr-xr-x 1 root root 4096 Jul 16 11:17  ..
-rw-r--r-- 1 root root 3106 Oct 15  2021  .bashrc
-rw-r--r-- 1 root root  161 Jul  9  2019  .profile
-rw-r--r-- 1 root root    0 Jul 16 11:20  File.txt
-rw-r--r-- 1 root root    0 Jul 16 11:20  file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Conventional ways to create files in Linux&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We can easily create files with the default file manager (GUI). But there is no fun in it. Let’s dive into some interesting &lt;strong&gt;command-line&lt;/strong&gt; ways to create files.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;touch&lt;/code&gt; - Use the dedicated command to create files.

&lt;ol&gt;
&lt;li&gt;Everyone's method - &lt;code&gt;touch file.txt&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Advance usage.
&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;```# Create a new empty file(s) or &lt;/p&gt;

&lt;h1&gt;
  
  
  change the times for existing file(s) to the current time:
&lt;/h1&gt;

&lt;p&gt;touch path/to/file&lt;/p&gt;

&lt;h1&gt;
  
  
  Set the times on a file to a specific date and time:
&lt;/h1&gt;

&lt;p&gt;touch -t YYYYMMDDHHMM.SS path/to/file&lt;/p&gt;

&lt;h1&gt;
  
  
  Set the time on a file to one hour in the past:
&lt;/h1&gt;

&lt;p&gt;touch -d "-1 hour" path/to/file&lt;/p&gt;

&lt;h1&gt;
  
  
  Use the times from a file to set the times on a second file:
&lt;/h1&gt;

&lt;p&gt;touch -r path/to/file1 path/to/file2&lt;/p&gt;

&lt;h1&gt;
  
  
  Create multiple files:
&lt;/h1&gt;

&lt;p&gt;touch path/to/file{1,2,3}.txt&lt;/p&gt;

&lt;p&gt;Credit: cheat.sh```&lt;br&gt;
&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Text editors - &lt;code&gt;nano&lt;/code&gt;, &lt;code&gt;vim&lt;/code&gt;, &lt;code&gt;vi&lt;/code&gt;, &lt;code&gt;neovim&lt;/code&gt;.

&lt;ol&gt;
&lt;li&gt;These will create files at current timestamps.&lt;/li&gt;
&lt;li&gt;Syntax: &lt;code&gt;text_editor path/to/file.txt&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;li&gt;Using the &lt;code&gt;cat&lt;/code&gt; , &lt;code&gt;echo&lt;/code&gt; or any other command with the &lt;code&gt;&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;gt;&amp;gt;&lt;/code&gt; operator. We can use STDOUT to create/append file.

&lt;ol&gt;
&lt;li&gt;You can use simple bash tricks to use &lt;code&gt;cat&lt;/code&gt;/&lt;code&gt;bat&lt;/code&gt; to create files.&lt;/li&gt;
&lt;li&gt;Syntax: &lt;code&gt;cat &amp;gt; file.txt&lt;/code&gt; , &lt;code&gt;cat &amp;gt;&amp;gt; file.txt&lt;/code&gt;.
&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;root@aaf52077a089:~/dir_test# cat file.txt
cat: file.txt: No such file or directory
root@aaf52077a089:~/dir_test# cat &amp;gt; file.txt
Creating and writing a file with cat command is so cool.
Writing on 2nd line    
^C
root@aaf52077a089:~/dir_test# cat file.txt
Creating and writing a file with cat command is so cool.
Writing on 2nd line
root@aaf52077a089:~/dir_test# cat &amp;gt;&amp;gt; file.txt
Writing on 3rd line
^C
root@aaf52077a089:~/dir_test# cat file.txt
Creating and writing a file with cat command is so cool.
Writing on 2nd line
Writing on 3rd line
root@aaf52077a089:~/dir_test# ls -al
total 12
drwxr-xr-x 2 root root 4096 Jul 16 11:55 .
drwx------ 1 root root 4096 Jul 16 11:55 ..
-rw-r--r-- 1 root root   97 Jul 16 11:57 file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Cool non practical methods&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Insert a hardware device into a Linux device. It will create a file.&lt;/li&gt;
&lt;li&gt;Create files of fixed size. (10MB)
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fallocate -l $((10*1024*1024)) file.txt
# This option doesn't use input/output overhead, the space will be allocated immediately.

truncate -s 10M file.txt
# This creates a file full of null bytes.

dd if=/dev/urandom of=ostechnix.txt bs=10MB count=1
# This command will create a non-sparse file full of null bytes.

head -c 10MB /dev/urandom &amp;gt; file.txt
# This command will create a non-sparse file full of null bytes.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thank you so much for reading this article. Follow me for more!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>opensource</category>
      <category>tutorial</category>
      <category>bash</category>
    </item>
    <item>
      <title>Intercept android app traffic in Burp Suite: From root to hack [ULTIMATE GUIDE for bug hunters]</title>
      <dc:creator>Sahil Sharma</dc:creator>
      <pubDate>Sun, 17 Jul 2022 01:43:04 +0000</pubDate>
      <link>https://dev.to/ss-d3v/intercept-android-app-traffic-in-burp-suite-from-root-to-hack-ultimate-guide-for-bug-hunters-i8n</link>
      <guid>https://dev.to/ss-d3v/intercept-android-app-traffic-in-burp-suite-from-root-to-hack-ultimate-guide-for-bug-hunters-i8n</guid>
      <description>&lt;p&gt;In this article, You’ll learn how to root an android device, configure burp proxy, install ca certificate to intercept https traffic, bypass SSL pinning and root detection. You can also use android emulators like genimotion.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Why bother learning this stuff? Simple reason is to compete with less number of hackers than webapps. Also, there no easy guide for all devices.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;:- This whole process could take 15 minutes to whole day depending upon the device (&lt;a href="https://developer.android.com/studio/releases/platforms"&gt;android sdk&lt;/a&gt;) and the app. So, please be patient and read everything carefully. Also, this whole thing is for educational purposes only.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm30wnjdltsctsnncr8nx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm30wnjdltsctsnncr8nx.jpg" alt="CPU-Z App showing info of your smartphone" width="720" height="1280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  The dumb part which is similar as webapps
&lt;/h1&gt;

&lt;p&gt;Let’s start with easiest and basic part to capture http, https traffic of web browser and the apps which don’t have SSL Pinning enabled.&lt;/p&gt;

&lt;h3&gt;
  
  
  Follow these steps
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Connect your PC (with &lt;a href="https://portswigger.net/"&gt;Burp Suite&lt;/a&gt; installed) and Android to the same network.
&amp;gt; Note — Here my PC’s IP is 192.168.43.20 and Android’s IP is 192.168.43.180&lt;/li&gt;
&lt;li&gt;Start Burp Suite and set proxy to listen on all interfaces.
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftt7hxt7w5usjbq5k4tq5.png" alt="Burp Suite proxy listening on port 8080 and all interfaces" width="800" height="482"&gt; &lt;/li&gt;
&lt;li&gt;Set manual proxy in Android’s WIFI settings.&lt;/li&gt;
&lt;li&gt;In web browser, go to &lt;a href="http://burp/"&gt;http://burp/&lt;/a&gt; and download the ca certificate. Rename the der extension to cer.&lt;/li&gt;
&lt;li&gt;Go to settings and search for certificate and install the certificate.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now you’ll be able to intercept HTTP/HTTPS traffic from web browsers and a very few apps which do not have SSL Pinning enabled.&lt;/p&gt;

&lt;h1&gt;
  
  
  Advanced — bypassing SSL pinning
&lt;/h1&gt;

&lt;p&gt;If the app has SSL Pinning enabled we have to root the android device to bypass it (root detection also). Follow these steps-&lt;/p&gt;

&lt;h2&gt;
  
  
  Root Android Device
&lt;/h2&gt;

&lt;p&gt;It is basically unlocking the bootloader. You need to search specifically for your device to do that because it is different for every Android phone companies. Use google, youtube, xda forums (king) to get navigation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install custom recovery
&lt;/h2&gt;

&lt;p&gt;There are two main Android recovery projects — &lt;a href="https://twrp.me/"&gt;TWRP&lt;/a&gt; and &lt;a href="https://orangefox.download/"&gt;OrangeFox&lt;/a&gt;. It would be great if they provide official recovery for your device. Otherwise you can use &lt;a href="https://www.xda-developers.com/"&gt;XDA forums&lt;/a&gt; to get unofficial but working recoveru image. Now, follow these steps-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Boot your Android device into &lt;a href="https://www.ultfone.com/android/what-is-fastboot-mode-android-how-to-enter-exit-it.html"&gt;fastboot/download/flash&lt;/a&gt; mode.&lt;/li&gt;
&lt;li&gt;Connect your android device with a USB cable to your PC. (also install required drivers)&lt;/li&gt;
&lt;li&gt;Install fastboot in your PC&lt;/li&gt;
&lt;li&gt;Use &lt;a href="https://developer.android.com/studio/releases/platform-tools"&gt;android platform tools&lt;/a&gt; in Windows. Extract the zip file. and place recovery .img files downloaded earlier in same folder.&lt;/li&gt;
&lt;li&gt;For Linux run these commands — &lt;code&gt;apt install adb fastboot -y&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;open powershell/terminal and go to that same folder used above. and run this command. &lt;code&gt;fastboot boot recovery.img&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Install Magisk Manager
&lt;/h2&gt;

&lt;p&gt;It is an open source tool to manager root access for apps, install modules, flash images, etc. Follow these steps-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get the official apk file of magisk manager from &lt;a href="https://github.com/topjohnwu/Magisk/releases"&gt;Github&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Change the extension from .apk to .zip.&lt;/li&gt;
&lt;li&gt;Got to custom recovery by following above steps.&lt;/li&gt;
&lt;li&gt;Tap install and go to magisk file location and flash it. Reboot device.&lt;/li&gt;
&lt;li&gt;Change magisk extension back to .apk. Install the app.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkyl0eay20awylpk83a37.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkyl0eay20awylpk83a37.jpg" alt="Magisk homepage after full installation" width="720" height="1280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Install Xposed installer (and edXposed manager)
&lt;/h2&gt;

&lt;p&gt;At last our main goal to bypass SSL Pinning is to install Xposed installer.&lt;/p&gt;

&lt;h3&gt;
  
  
  method 1 — Simple installation
&lt;/h3&gt;

&lt;p&gt;Follow these steps-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Download Xposed installer from &lt;a href="https://repo.xposed.info/module/de.robv.android.xposed.installer"&gt;official website&lt;/a&gt; for your android version.&lt;/li&gt;
&lt;li&gt;Click install and wait for download to complete, then install it.&lt;/li&gt;
&lt;li&gt;If you see the green banner, then you can skip next methods.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F73tb1r21ecoxjjhdofw0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F73tb1r21ecoxjjhdofw0.jpg" alt="Allow Super user permission to Xposed installer" width="720" height="1280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;method 2 — using Magisk module (Android oreo &amp;amp; newer 8.0+)&lt;br&gt;
Follow these steps-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Download two magisk modules from &lt;a href="https://github.com/Magisk-Modules-Repo/xposed_dalvik/archive/b15b3442bb33154a7f89767a536920460c0e22d6.zip"&gt;here1&lt;/a&gt; and&lt;a href="https://github.com/Magisk-Modules-Repo/riru_edxposed/archive/7293bf52ad17b0cdded2bc94027168481bdea55a.zip"&gt; here2&lt;/a&gt;. One extra module if you like &lt;a href="https://github.com/Magisk-Modules-Repo/xposed/archive/11e46aadc516b1227e1b3f98a0785b7eecb88c26.zip"&gt;here3&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Install module from storage and reboot the device.
&amp;gt; Note: If failed download Xposed Get the zip files for your sdk from the redirected website.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Falvvb5ochnc2afrn0x8h.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Falvvb5ochnc2afrn0x8h.jpg" alt="Magisk app after installing required modules." width="720" height="1280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  method 3 — flash using custom recovery (TWRP/OrangeFox)
&lt;/h3&gt;

&lt;p&gt;Follow these steps-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Download the zip files from the redirected links for your android SDK version. also download this extra zip file from &lt;a href="https://github.com/ElderDrivers/EdXposed/releases/download/v0.5.2.2/EdXposed-v0.5.2.2_4683-master-release.zip"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Boot to recovery with steps mentioned above.&lt;/li&gt;
&lt;li&gt;Click install and reboot to the system.&lt;/li&gt;
&lt;li&gt;Check Xposed installer status again. Click activate slide if not already.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now you should have Xposed installed on your system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install Xposed modules.
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Go to downloads with menu button on top left corner.&lt;/li&gt;
&lt;li&gt;Download and install three modules. — RootCloak, SSL Pinning Bypass and Trust Me.
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxmy7ektgv40ygfetyjqb.jpg" alt="Installed module in Xposed manager/installer" width="720" height="1280"&gt; &lt;/li&gt;
&lt;li&gt;Activate these modules and Soft reboot the device.&lt;/li&gt;
&lt;li&gt;go to SSL Pinning Bypass app. Click on the app to bypass SSL pinning on it. 
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F983myrny99j6cmxvsfz9.jpg" alt="SSL pinning bypassed" width="720" height="1280"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I hope you find a bug after successfully bypassing SSL pinning. If you found this article useful, don’t forget to clap (≤50). For more hacking related articles follow me here.&lt;/p&gt;

&lt;p&gt;You can also follow me on twitter to get useful resources to learn ethical hacking. that’s all i have got for today. I will see you in the next one.&lt;/p&gt;

&lt;p&gt;Thank you for reading, Have a creative day!&lt;/p&gt;

</description>
      <category>burpsuite</category>
      <category>sslpinning</category>
      <category>android</category>
      <category>bugbounty</category>
    </item>
    <item>
      <title>Host TOR Hidden service (DARK WEB website) on a smartphone !!</title>
      <dc:creator>Sahil Sharma</dc:creator>
      <pubDate>Thu, 26 May 2022 03:47:40 +0000</pubDate>
      <link>https://dev.to/ss-d3v/host-tor-hidden-service-dark-web-website-on-a-smartphone--23ia</link>
      <guid>https://dev.to/ss-d3v/host-tor-hidden-service-dark-web-website-on-a-smartphone--23ia</guid>
      <description>&lt;p&gt;DARK WEB websites — TOR hidden services or the .onion sites which can only be accessed by connecting to TOR relay.&lt;/p&gt;

&lt;p&gt;In this blog, We will host a TOR hidden service using termux in Android. This is incredibly cool, takes only a few minutes to setup…you’ve gotta try this!!&lt;/p&gt;

&lt;p&gt;If you prefer a video tutorial, click &lt;a href="https://www.youtube.com/watch?v=oFUmVPjxRss"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you don’t want to learn the process, I have my script to do the work for you. Check it here — &lt;a href="https://github.com/sam5epi0l/onionX/"&gt;https://github.com/sam5epi0l/onionX/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Follow these steps -
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Get official termux app from F-DROID — &lt;a href="https://f-droid.org/en/packages/com.termux/"&gt;https://f-droid.org/en/packages/com.termux/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;update packages&lt;br&gt;
&lt;br&gt;
&lt;code&gt;pkg update -y&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install dependencies&lt;br&gt;
&lt;br&gt;
&lt;code&gt;pkg i termux-api tor git -y&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;create torrc configuration&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;cp /data/data/com.termux/files/usr/etc/tor/torrc .&lt;br&gt;
echo "HiddenServiceDir /data/data/com.termux/files/home/hidden_service/" &amp;gt;&amp;gt; torrc&lt;br&gt;
echo "HiddenServicePort 80 127.0.0.1:1337" &amp;gt;&amp;gt; torrc&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Start TOR hidden service&lt;br&gt;
&lt;br&gt;
&lt;code&gt;tor -f torrc&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check URL in hostname file&lt;br&gt;
&lt;br&gt;
&lt;code&gt;cat /data/data/com.termux/files/home/hidden_service/hostname&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;(OPTIONAL) Start your Apache/nginx web server at port 1337&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m using python http server at 127.0.0.1:1337&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;python3 -m http.server 1337&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Hurray! you finished all steps and the host is up and running DARK WEB website. Thank you so much for reading.&lt;/p&gt;

</description>
      <category>termux</category>
      <category>tutorial</category>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>Fall in Love with TERMUX</title>
      <dc:creator>Sahil Sharma</dc:creator>
      <pubDate>Tue, 26 Apr 2022 16:48:49 +0000</pubDate>
      <link>https://dev.to/ss-d3v/fall-in-love-with-termux-57nj</link>
      <guid>https://dev.to/ss-d3v/fall-in-love-with-termux-57nj</guid>
      <description>&lt;p&gt;&lt;strong&gt;Make your Termux look better within 5 minutes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;About — We’re going to install awesome tools like ohmyzsh, neovim, dotfiles, etc.with just one script&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you prefer video tutorial click &lt;a href="https://www.youtube.com/watch?v=01rUEjLiwEE" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Installation Dependencies&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://f-droid.org/en/packages/com.termux/" rel="noopener noreferrer"&gt;Termux must be F-Droid Version&lt;/a&gt; because Termux from Playstore no longer maintained because there are some problems with the Playstore publishing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Update Repository &amp;amp; Upgrade Package&lt;/em&gt;&lt;br&gt;
&lt;code&gt;pkg update &amp;amp;&amp;amp; pkg upgrade&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
  &lt;strong&gt;git &amp;amp; bc&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Package &lt;code&gt;git&lt;/code&gt; for cloning or downloading repository&lt;/li&gt;
&lt;li&gt;Package &lt;code&gt;bc&lt;/code&gt; for calculate repository size which will be cloning or downloading
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  pkg i &lt;span class="nt"&gt;-y&lt;/span&gt; git bc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Installation myTermux
&lt;/h2&gt;

&lt;p&gt;&lt;br&gt;
  &lt;strong&gt;Clone or Download This Repository&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  git clone &lt;span class="nt"&gt;--depth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1 https://github.com/mayTermux/myTermux.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;p&gt;&lt;br&gt;
  &lt;strong&gt;Run Script Installer&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Move to Folder
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;cd &lt;/span&gt;myTermux
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;export variable &lt;code&gt;COLUMNS&lt;/code&gt; and &lt;code&gt;LINES&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This variable function so that the installer script can read the&lt;br&gt;
&lt;code&gt;column&lt;/code&gt; and &lt;code&gt;row&lt;/code&gt; widths of Termux Application so that later it&lt;br&gt;
matches the output during the installation process.&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;export &lt;/span&gt;COLUMNS LINES
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Execute Installer
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  ./install.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FmDV3hd0%2FScreenshot-20220216-200813-Termux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FmDV3hd0%2FScreenshot-20220216-200813-Termux.png" alt="Error"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you get error message &lt;code&gt;Please Zoom Out&lt;/code&gt;.&lt;br&gt;
Zoom Out on Termux Application then run again the script&lt;/p&gt;

&lt;p&gt;If the row and column widths of the application are correct,&lt;br&gt;
the script will automatically run, like this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FhMbzWxx%2FScreenshot-20220216-202655-Termux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FhMbzWxx%2FScreenshot-20220216-202655-Termux.png" alt="Running"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Then follow the installation until it's finished&lt;/p&gt;
&lt;/blockquote&gt;



&lt;h2&gt;
  
  
  📸 Screenshots
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;This screenshot take by &lt;a href="https://github.com/mayTermux/awesomeshot" rel="noopener noreferrer"&gt;&lt;strong&gt;Awesomeshot&lt;/strong&gt;&lt;/a&gt; and system fetch by &lt;a href="https://github.com/mayTermux/rxfetch-termux" rel="noopener noreferrer"&gt;&lt;strong&gt;rxfetch-termux&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;System Fetch&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;rxfetch&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2Fc6YLPNV%2FScreenshot-20220319-192552-Termux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2Fc6YLPNV%2FScreenshot-20220319-192552-Termux.png" alt="rxfetch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;neofetch&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FpLcSBLx%2FScreenshot-20220319-193758-Termux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FpLcSBLx%2FScreenshot-20220319-193758-Termux.png" alt="neofetch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Colorscheme (Theme)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Change colorscheme or theme with command:&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  chcolor
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FzFQhNZD%2FScreenshot-20220319-194003-Termux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FzFQhNZD%2FScreenshot-20220319-194003-Termux.png" alt="chcolor"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
  Show Preview&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2F4Vjdk89%2Fout2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2F4Vjdk89%2Fout2.png" alt="colorscheme"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Fonts&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Change font used with command:&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  chfont
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FvDWZ5k1%2FScreenshot-20220319-194026-Termux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FvDWZ5k1%2FScreenshot-20220319-194026-Termux.png" alt="chfont"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ZSH Theme&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Change ZSH Theme with command:&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  chzsh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2Fkm77gcw%2FScreenshot-20220319-194129-Termux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2Fkm77gcw%2FScreenshot-20220319-194129-Termux.png" alt="chzsh"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[NVIM] - Text Editor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FVBv57nX%2FScreenshot-20220403-014722-Termux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FVBv57nX%2FScreenshot-20220403-014722-Termux.png" alt="NvChad"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
  Show Theme&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2F6DqyPqT%2Ffinal-text-editor.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2F6DqyPqT%2Ffinal-text-editor.png" alt="NvChad Theme"&gt;&lt;/a&gt;&lt;/p&gt;



</description>
      <category>beginners</category>
      <category>programming</category>
      <category>opensource</category>
      <category>android</category>
    </item>
    <item>
      <title>SuiteCRM installation in Ubuntu Server 20.04.4 LTS VPS [2022 Guide]</title>
      <dc:creator>Sahil Sharma</dc:creator>
      <pubDate>Thu, 10 Mar 2022 01:32:32 +0000</pubDate>
      <link>https://dev.to/ss-d3v/suitecrm-installation-in-ubuntu-server-20044-lts-vps-2022-guide-15hl</link>
      <guid>https://dev.to/ss-d3v/suitecrm-installation-in-ubuntu-server-20044-lts-vps-2022-guide-15hl</guid>
      <description>&lt;p&gt;&lt;strong&gt;SuiteCRM&lt;/strong&gt; is an open-source Customer Relationship Management (CRM) software solution. An application which loads the sales, markets, and services administration of a company. It also helps to organize all the processes concerning these activities translating this into process improvements and time-saving. Learn how to install SuiteCRM on Ubuntu 20.04 here&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: If can't follow along this process, feel free to reach out to me! (Social media links are attached Below)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0co87h3gh5fsbvgk1pk2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0co87h3gh5fsbvgk1pk2.jpg" alt="Image description" width="800" height="507"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;SSH root access or a regular system user (use sudo) with sudo privileges&lt;/li&gt;
&lt;li&gt;Fully-updated system. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Install Apache Webserver
&lt;/h2&gt;

&lt;p&gt;Install Apache server using this command&lt;br&gt;
&lt;code&gt;apt install apache2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Use These command with SUID permissions to start, enable and  restart the apache2 server&lt;br&gt;
&lt;code&gt;systemctl start apache2&lt;br&gt;
systemctl enable apache2&lt;br&gt;
systemctl restart apache2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Go to browser and type server IP or LocalHost, you should be able to view Apache2 Ubuntu Default Page&lt;/p&gt;
&lt;h2&gt;
  
  
  Install PHP, Composer &amp;amp; extenstions
&lt;/h2&gt;

&lt;p&gt;To install PHP, composer(package manager for PHP) and the required PHP extensions, run the following command:&lt;br&gt;
&lt;code&gt;sudo apt install php composer php-cli php-imagick php-fpm php-mysql php-common php-gd php-imap php-json php-curl php-zip php-xml php-mbstring php-bz2 php-intl php-gmp php-curl php-gd php-zip php-imap php-dom php-intl php-opache php-soap&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Install and create database on MySQL server
&lt;/h2&gt;

&lt;p&gt;Install MySQL server&lt;br&gt;
&lt;code&gt;apt install mysql-server&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Log In to MySQL server and provide password with following command:&lt;br&gt;
&lt;code&gt;mysql -u root -p&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Create a Database for suitecrm using these commands&lt;br&gt;
&lt;code&gt;CREATE DATABASE suitecrm;&lt;br&gt;
CREATE USER 'suitecrm'@'localhost' IDENTIFIED BY 'password';&lt;br&gt;
GRANT ALL PRIVILEGES ON suitecrm.* TO 'suitecrm'@'localhost';&lt;br&gt;
FLUSH PRIVILEGES;&lt;br&gt;
EXIT;&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Download SuiteCRM on Ubuntu 20.04 and Configure it
&lt;/h2&gt;

&lt;p&gt;Download the latest stable version by executing the following command on your server.&lt;br&gt;
&lt;code&gt;wget https://github.com/salesagility/SuiteCRM/archive/refs/tags/v7.12.5.zip&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Unzip to default directory or subdomain directory&lt;br&gt;
&lt;code&gt;unzip SuiteCRM-8.0.3.zip -d /var/www/html/suitecrm&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;CD to suitecrm directory Add sub tree to folder&lt;br&gt;
&lt;code&gt;cd /var/www/suitecrm&lt;br&gt;
mkdir cache&lt;br&gt;
mkdir vendor&lt;br&gt;
touch config_override.php&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Set correct permissions to Files and Folders:&lt;br&gt;
&lt;code&gt;chown -R www-data:www-data /var/www/suitecrm/&lt;br&gt;
chmod -R 755 .&lt;br&gt;
chmod -R 775 cache custom modules themes data upload&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Install composer packages with this command:&lt;br&gt;
&lt;code&gt;composer install&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Add sites-available in apache configurations
&lt;/h2&gt;

&lt;p&gt;Open nano editor using this command:&lt;br&gt;
&lt;code&gt;nano /etc/apache2/sites-available/suitecrm.conf&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Add this text into config file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;VirtualHost *:80&amp;gt;
  ServerName suitecrm.example.com
  DocumentRoot /var/www/suitecrm/

  ErrorLog ${APACHE_LOG_DIR}/suitecrm_error.log
  CustomLog ${APACHE_LOG_DIR}/suitecrm_access.log combined

  &amp;lt;Directory /&amp;gt;
    Options FollowSymLinks
    AllowOverride All
  &amp;lt;/Directory&amp;gt;

  &amp;lt;Directory /var/www/suitecrm/&amp;gt;
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  &amp;lt;/Directory&amp;gt;

Include /etc/apache2/conf-available/php7.4-fpm.conf

&amp;lt;/VirtualHost&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Increase Upload Limit in php configurations&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php/7.4/fpm/php.ini&lt;br&gt;
systemctl restart php7.4-fpm&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now enable suitecrm site:&lt;br&gt;
&lt;code&gt;a2ensite suitecrm.conf&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Restart apache server and you are done with CLI&lt;br&gt;
&lt;code&gt;systemctl restart apache2&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Fire up your web browser to localhost
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;You should add subdomain to /etc/hosts if any.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Accept terms and continue to installation&lt;/li&gt;
&lt;li&gt;Login with database user and pass &lt;a href="//example.com"&gt;suitecrm:password&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Create admin user for suitecrm login page.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4nkgfanmsyr2okcjwfw5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4nkgfanmsyr2okcjwfw5.png" alt="Image description" width="800" height="472"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Login to admin account it will redirect you to dashboard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiyl1a28n46jcq25jqldb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiyl1a28n46jcq25jqldb.png" alt="SuiteCRM admin Page" width="800" height="509"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see suitecrm is successfully installed in our Ubuntu Server or VPS&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I hope this tutorial helped you install SuiteCRM on Ubuntu 20.04. You can also check out SuiteCRM  user manual to learn how to use it. If you found this post useful, then you can follow me on other social media platform to get more tips and tricks. Take care 🙂&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>webdev</category>
      <category>tooling</category>
      <category>suitecrm</category>
    </item>
    <item>
      <title>BotTuber, automates compilation videos YouTube Channel Completely. Check it out on GitHub.🔽(Video Tutorial Included)</title>
      <dc:creator>Sahil Sharma</dc:creator>
      <pubDate>Sun, 23 Jan 2022 01:21:19 +0000</pubDate>
      <link>https://dev.to/ss-d3v/bottuber-automates-compilation-videos-youtube-channel-completely-check-it-out-on-githubvideo-tutorial-included-5h9g</link>
      <guid>https://dev.to/ss-d3v/bottuber-automates-compilation-videos-youtube-channel-completely-check-it-out-on-githubvideo-tutorial-included-5h9g</guid>
      <description>&lt;p&gt;Features😶‍🌫️ - &lt;/p&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Interactive  Auto/Manual mode&lt;/li&gt;
&lt;li&gt;Makes Compilation (Intro &amp;amp; Outro)&lt;/li&gt;
&lt;li&gt;Auto Title, Description &amp;amp; Tags &lt;/li&gt;
&lt;li&gt;Auto TimeStamps &amp;amp; Credits (Username &amp;amp; Caption from Video)&lt;/li&gt;
&lt;li&gt;Edit description.txt when in manual mode&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;GitHub👩‍🚀 - &lt;a href="https://github.com/sam5epi0l/BotTuber.git"&gt;https://github.com/sam5epi0l/BotTuber.git&lt;/a&gt;&lt;br&gt;
Releases👨‍💻 - &lt;a href="https://github.com/sam5epi0l/BotTuber/releases/tag/v1.21.0"&gt;https://github.com/sam5epi0l/BotTuber/releases/tag/v1.21.0&lt;/a&gt;&lt;br&gt;
by sam5epi0l - &lt;a href="https://twitter.com/sam5epi0l"&gt;https://twitter.com/sam5epi0l&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Please Comment Below if You found Bugs&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;📄Quick Start&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git clone https://github.com/sam5epi0l/BotTuber.git&lt;br&gt;
cd BotTuber&lt;br&gt;
(add instagram credentials in config.py)&lt;br&gt;
(add YouTube API v3 credentials to googleAPI.json (check instructions))&lt;br&gt;
pip3 install -r requirements.txt&lt;br&gt;
python3 botTuber.py&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Usage✅&lt;/p&gt;

&lt;p&gt;&lt;code&gt;python3 botTuber.py -i # interactive mode&lt;br&gt;
python3 botTuber.py -a # Full automation&lt;br&gt;
python3 botTuber.py -m # manual mode&lt;br&gt;
python3 botTuber.py -h # help menu&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Video Installation Tutorial - &lt;a href="https://youtu.be/BbPErvcqXyw"&gt;https://youtu.be/BbPErvcqXyw&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>youtube</category>
      <category>opensource</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
