Matrix Field Conditional
Image are returned as an array so could use either of the following:

{{ content.img[0].url }}

Or set a variable which fetches the asset to then output its fields

{% set asset = content.img.first() %}
{{ asset.url }}


Related: Looping through images in a Asset field type



UPDATE: The line {% if content.img|length %} will always be true because you are checking for existence of the field. You need to instead check that the field has a value using one of the methods below:

{% for content in entry.contentBuilder.type('imgHeader') %}

    {% if content.img[0]|length %}
        {{ content.img[0].url }}
    {% else %}
        default jpg
    {% endif %}

{% endfor %}


or

{% for content in entry.contentBuilder.type('imgHeader') %}

    {% set image = content.img.first() %}

    {% if image|length %}
        {{ image.url }}
    {% else %}
        default jpg
    {% endif %}

{% endfor %}