{"id":347,"date":"2026-05-04T03:42:32","date_gmt":"2026-05-04T03:42:32","guid":{"rendered":"https:\/\/sites.wp.odu.edu\/joshuaoania\/?p=347"},"modified":"2026-05-04T03:42:32","modified_gmt":"2026-05-04T03:42:32","slug":"cyse-368-reflection-paper-3","status":"publish","type":"post","link":"https:\/\/sites.wp.odu.edu\/joshuaoania\/2026\/05\/04\/cyse-368-reflection-paper-3\/","title":{"rendered":"CYSE 368 REFLECTION PAPER 3"},"content":{"rendered":"\n<p>Joshua Oania<\/p>\n\n\n\n<p>Reflection Paper 3<\/p>\n\n\n\n<p>Date: 4\/12\/26<\/p>\n\n\n\n<p>ODU Spring 2026<\/p>\n\n\n\n<p>Earth Viability Center<\/p>\n\n\n\n<p>Professor Teresa Duvall\/TA Joshua Russell<\/p>\n\n\n\n<p><strong>Internship Reflection Paper<\/strong><\/p>\n\n\n\n<p><strong><\/strong>The last 50 hours of my internship were spent conducting a code review of the Place4Us platform&#8217;s input validation capabilities.&nbsp; Place4Us has many input entry points, from commenting on a post to uploading files to the platform.&nbsp; That said, there are 2 PHP functions in particular that validate user input: functions.php and special_functions.php.&nbsp;&nbsp;<\/p>\n\n\n\n<p>The functions.php file has three functions: looks for input that resembles code (function cleanText($string)), replaces that input with a random set of strings (function cleanTextB($string)), and then automatically blocks the user and logs them out (function blockCurrentUser()).&nbsp; The special_functions.php file, on the other hand, checks uploaded files (function checkUploadedFile()).&nbsp; It checks whether the uploaded file&#8217;s extension is allowed and whether its MIME type matches the extension, and if it doesn\u2019t, the user is unable to upload the file.&nbsp; Basically, the file extension tells people what the contents of a file are.&nbsp; Essentially, the label on a box.&nbsp; The MIME value, on the other hand, is the contents inside the box.&nbsp; It is important that the file extension matches the MIME value, because a file pretending to be something else could be potentially malicious.&nbsp; For instance, an attacker can disguise an executable file as a PDF.<\/p>\n\n\n\n<p>Analyzing the two files, I found several issues.&nbsp; One of those issues is the list of allowed MIME values.&nbsp; Three in particular were of big concern: .xls, .swf, and .zip.&nbsp; The first extension, xls, is the old Excel file type.&nbsp; Excel files (especially older versions) are a major concern because they contain macros, which are embedded scripts that serve a purpose.&nbsp; So, for example, in Excel, macros would allow a user to create graphs (among other functions, of course).&nbsp; However, attackers can manipulate those scripts to perform malicious actions.&nbsp; The second extension, .swf, is the format for Adobe Flash Player (which has long been deprecated due to a long, extensive history of security bugs and exploits).&nbsp; Lastly, a .zip file is basically a folder compressed into a single file.&nbsp; Zip files can be concerning because it\u2019s difficult to verify what is inside unless they&#8217;re opened, posing a significant security risk.<\/p>\n\n\n\n<p>Another issue I found was that each file extension had only one MIME type associated with it, whereas it is entirely possible that each extension could have multiple values.&nbsp; For example, Zip files can have both the \u201capplication\/zip\u201d and \u201capplication\/x-zip-compressed\u201d MIME types, depending on the system (Windows, Linux, browsers, libraries).<\/p>\n\n\n\n<p>The biggest challenge I had these last 50 hours was reading through the two files.&nbsp; Although I have prior coding experience, PHP is relatively new to me, so reading through each file was a bit of a struggle.&nbsp; A lot of self-study was done to understand what I was reading while conducting my code review.&nbsp; Another challenge I had was trying to narrow down which file types should be acceptable on the platform, which ultimately boiled down to understanding the platform&#8217;s core premise and gathering user feedback on which files they find most acceptable to upload.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Joshua Oania Reflection Paper 3 Date: 4\/12\/26 ODU Spring 2026 Earth Viability Center Professor Teresa Duvall\/TA Joshua Russell Internship Reflection Paper The last 50 hours of my internship were spent conducting a code review of the Place4Us platform&#8217;s input validation capabilities.&nbsp; Place4Us has many input entry points, from commenting on a post to uploading files&#8230; <\/p>\n<div class=\"link-more\"><a href=\"https:\/\/sites.wp.odu.edu\/joshuaoania\/2026\/05\/04\/cyse-368-reflection-paper-3\/\">Read More<\/a><\/div>\n","protected":false},"author":27857,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","wds_primary_category":0},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/sites.wp.odu.edu\/joshuaoania\/wp-json\/wp\/v2\/posts\/347"}],"collection":[{"href":"https:\/\/sites.wp.odu.edu\/joshuaoania\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sites.wp.odu.edu\/joshuaoania\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/joshuaoania\/wp-json\/wp\/v2\/users\/27857"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/joshuaoania\/wp-json\/wp\/v2\/comments?post=347"}],"version-history":[{"count":1,"href":"https:\/\/sites.wp.odu.edu\/joshuaoania\/wp-json\/wp\/v2\/posts\/347\/revisions"}],"predecessor-version":[{"id":348,"href":"https:\/\/sites.wp.odu.edu\/joshuaoania\/wp-json\/wp\/v2\/posts\/347\/revisions\/348"}],"wp:attachment":[{"href":"https:\/\/sites.wp.odu.edu\/joshuaoania\/wp-json\/wp\/v2\/media?parent=347"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/joshuaoania\/wp-json\/wp\/v2\/categories?post=347"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/joshuaoania\/wp-json\/wp\/v2\/tags?post=347"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}