<?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: Asher Mathews Shaji</title>
    <description>The latest articles on DEV Community by Asher Mathews Shaji (@asherms).</description>
    <link>https://dev.to/asherms</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%2F522622%2F67c8800a-9d2f-4715-962c-40fd5ae2614b.jpeg</url>
      <title>DEV Community: Asher Mathews Shaji</title>
      <link>https://dev.to/asherms</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/asherms"/>
    <language>en</language>
    <item>
      <title>Smart-i</title>
      <dc:creator>Asher Mathews Shaji</dc:creator>
      <pubDate>Fri, 13 Jan 2023 15:25:59 +0000</pubDate>
      <link>https://dev.to/asherms/smart-i-2big</link>
      <guid>https://dev.to/asherms/smart-i-2big</guid>
      <description>&lt;p&gt;&lt;strong&gt;Tracking and detecting any fatal activities in the surveillance camera footages using deeplearning and storing them in decentralised storage.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem
&lt;/h2&gt;

&lt;p&gt;Every day, there is a rising number of tragic road accidents and other violent offenses.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Road accidents are often caused by someone else's irresponsibility. If the wrongdoers are affluent and powerful, they try to erase any evidence. In other circumstances, evidence disappears easily. This denies victims justice.&lt;/li&gt;
&lt;li&gt;Inaccessibility to aid is also a major problem. With Smart-i, immediate notifications can be sent to the authorities for help.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Solution
&lt;/h2&gt;

&lt;p&gt;Smart-i is a blockchain-based web application that utilizes real-time surveillance footage to discover and report fatal accidents.&lt;/p&gt;

&lt;p&gt;The footage that contains evidence of any such fatal happenings is stored in the blockchain, thus making them unalterable by anyone.&lt;/p&gt;

&lt;p&gt;Also, the authorities concerned can be notified, thus immediate actions can be taken. &lt;/p&gt;

&lt;h2&gt;
  
  
  How it works?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HRyENitN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m9sv1r6wvqj7gppu09q1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HRyENitN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m9sv1r6wvqj7gppu09q1.png" alt="Image description" width="880" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>python</category>
      <category>machinelearning</category>
      <category>deeplearning</category>
    </item>
    <item>
      <title>EPHELOG</title>
      <dc:creator>Asher Mathews Shaji</dc:creator>
      <pubDate>Fri, 13 Jan 2023 15:19:02 +0000</pubDate>
      <link>https://dev.to/asherms/ephelog-3pp</link>
      <guid>https://dev.to/asherms/ephelog-3pp</guid>
      <description>&lt;p&gt;Usernames and passwords are ubiquitous today on possibly any website. In this online era, passwords are considered a mechanism of security. But often, one might come across a situation where he/she needs to share login credentials with a friend, colleague, or acquaintance. The most common practice is to change this password later. Not only that, it is possible that most people tend to keep similar passwords in different handles, putting them all at risk.&lt;/p&gt;

&lt;p&gt;These temporary credentials expire after a specified interval. After they expire, any calls made with those credentials will fail, so one must generate a new set of temporary credentials. Temporary credentials cannot be extended or refreshed beyond the originally specified interval. A history of the login and the logout details are also recorded. &lt;/p&gt;

&lt;h2&gt;
  
  
  Detailed Working:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;For this service, both the users, the one who needs to share his login credentials and the one who requires it, need to login to the platform. They will be provided with a unique username.&lt;/li&gt;
&lt;li&gt;After logging into the required platform, the user can select Ephelog service from the extensions tab and copy the site link, and the Ephelog username of the intended user. &lt;/li&gt;
&lt;li&gt;The login credentials (real username and password) are not stored in the server, temporary tokens are generated dynamically and provided to the intended user. Tokens are basically masked session ids.&lt;/li&gt;
&lt;li&gt;Using the token, the intended user can login and use the site for the allowed time frame. He can enter the token on the extension bar and the browser tab will refresh itself to let the user use the platform. Until the temporary login credentials expire, he can surf the site. &lt;/li&gt;
&lt;li&gt;When the timer runs out, the site refreshes again and the session will expire automatically. &lt;/li&gt;
&lt;li&gt;The temporary login credentials have a limited lifetime, so one does not have to rotate them or explicitly revoke them when they're no longer needed. After they expire, they cannot be reused. The user can specify how long the credentials are valid, up to a maximum limit&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Hacker101 CTF Micro-CMS v1 Writeup</title>
      <dc:creator>Asher Mathews Shaji</dc:creator>
      <pubDate>Wed, 03 Mar 2021 15:03:58 +0000</pubDate>
      <link>https://dev.to/asherms/hacker101-ctf-micro-cms-v1-writeup-gd9</link>
      <guid>https://dev.to/asherms/hacker101-ctf-micro-cms-v1-writeup-gd9</guid>
      <description>&lt;p&gt;Challenge Link : &lt;a href="https://ctf.hacker101.com/ctf"&gt;https://ctf.hacker101.com/ctf&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Flag0&lt;/h3&gt;

&lt;p&gt;let us look at the challenge Micro-CMS v1&lt;/p&gt;

&lt;p&gt;it is an easy challenge and we want to find 4 Flags&lt;/p&gt;

&lt;p&gt;So lets dive in &lt;/p&gt;

&lt;p&gt;on the entry page 2 pages named testing and markdown &lt;/p&gt;

&lt;p&gt;and we can also create a new page.&lt;/p&gt;

&lt;p&gt;So lets go to the first page named testing&lt;/p&gt;

&lt;p&gt;nothing special here.&lt;/p&gt;

&lt;p&gt;lets check out Markdown test&lt;/p&gt;

&lt;p&gt;nothing special here.&lt;/p&gt;

&lt;p&gt;lets try creating a new page&lt;/p&gt;

&lt;p&gt;lets name the page &lt;/p&gt;

&lt;p&gt;lets write any content&lt;/p&gt;

&lt;p&gt;BUT!!&lt;/p&gt;

&lt;p&gt;When we look at the url&lt;/p&gt;

&lt;p&gt;the first page is numbered 1&lt;/p&gt;

&lt;p&gt;next page is numbered 2&lt;/p&gt;

&lt;p&gt;but when we open the next page we can see that it is numbered 6&lt;/p&gt;

&lt;p&gt;so let us try to access the 3,4,5 pages &lt;/p&gt;

&lt;p&gt;when we try to access it we can see that &lt;/p&gt;

&lt;p&gt;when we access the 3rd page it says that it is not found on the server&lt;/p&gt;

&lt;p&gt;similar story on the 5th page but when we try to access the 4th page we get a different response&lt;/p&gt;

&lt;p&gt;it says that the 4th page is forbidden but it is present in the server&lt;/p&gt;

&lt;p&gt;so the fourth page may contain a flag.&lt;/p&gt;

&lt;p&gt;now we have to figure out a way to access the 4th page.&lt;/p&gt;

&lt;p&gt;we can see that every page has a button for editing the page&lt;/p&gt;

&lt;p&gt;when we click at the edit button&lt;/p&gt;

&lt;p&gt;the url of the edit page has an "edit" tag in the url&lt;/p&gt;

&lt;p&gt;so by adding an edit in the url we can edit any page&lt;/p&gt;

&lt;p&gt;since we want to access the 4th page lets try to edit the 4th page lets add an edit to the url&lt;/p&gt;

&lt;p&gt;YES we can edit the fourth page and here is the flag..&lt;/p&gt;

&lt;h3&gt;Flag1&lt;/h3&gt;

&lt;p&gt;For this one the the hint was like&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make sure you tamper with every input&lt;/li&gt;
&lt;li&gt;Have you tested for the usual culprits? XSS, SQL injection, path injection&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;so I tested the usual things such a XSS and SQL injection. When i was playing with the edit URL&lt;/p&gt;

&lt;p&gt;I found out that it was excepting a number at the &lt;/p&gt;

&lt;p&gt;so I tried to break the query by simply putting a ' in place of a number &lt;/p&gt;

&lt;p&gt;the page that loaded contained the flag.&lt;/p&gt;

&lt;h3&gt;Flag2&lt;/h3&gt;

&lt;p&gt;for this one the hint was like&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sometimes a given input will affect more than one page&lt;/li&gt;
&lt;li&gt;The bug you are looking for doesn't exist in the most obvious place this input is shown&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;from it we can understand that the flag has something to do with input &lt;/p&gt;

&lt;p&gt;so as a first step I looked for XSS&lt;/p&gt;

&lt;p&gt;the First page that we can enter user input was the create a new page form&lt;/p&gt;

&lt;p&gt;I tried to inject an alert() function into the page but the alert doesnt pop up &lt;/p&gt;

&lt;p&gt;when we look at the source we can see that the script tag has been  replaced by &lt;/p&gt;

&lt;p&gt;tag that means it was checking for XSS(Cross Side Scripting).&lt;/p&gt;

&lt;p&gt;but when we go back home Suddenly an alert pops up revealing the flag.&lt;/p&gt;

&lt;p&gt;I didn't fully understand how this happened&lt;/p&gt;

&lt;p&gt;But my assumption is that the content of the pages get loaded when we go back to the home page&lt;/p&gt;

&lt;h3&gt;Flag3&lt;/h3&gt;

&lt;p&gt;For this one the hints where like &lt;/p&gt;

&lt;p&gt;Script tags are great, but what other options do you have?&lt;/p&gt;

&lt;p&gt;so it must be refering to other ways of injecting javascript into the page&lt;/p&gt;

&lt;p&gt;one of  the other ways of injecting javascript into you page is by using button elements&lt;/p&gt;

&lt;p&gt;I noticed that only  tags get replaced so i created a button in the description of a page &amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;and on the &amp;amp;quot;onclick&amp;amp;quot; attribute (onclick is an HTML attribute in which we can pass some javascript code which gets executed when the button is clicked)&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;I tried to pop and alert.. it did pop an alert but the flag was not found..&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;but then i added  flag property to the Button element  and kept it empty and  &amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;i saved the page&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;BUT!! when i looked at the source of the page the content of the flag property was not empty&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;it was replaced with the flag&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;This shows us the amazing advantages of values that already exist but lacks the correct placeholder to contain it.&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;Eventhough it was an easy CTF i learned a lot from this..&amp;lt;/p&amp;gt;
&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>html</category>
    </item>
  </channel>
</rss>
